Kezdőoldal » Számítástechnika » Programozás » Hogyan tudok ilyen triggert...

Hogyan tudok ilyen triggert létrehozni mysql-ben?

Figyelt kérdés

Arra lenne szükségem, hogyha egy táblából törlik, és a hozzá kapcsolódó táblában van olyan rekord, ami kapcsolódott a kitörölt rekordhoz egy idegen kulccsal, akkor a másik táblából is legyen kitörölve a megfelelő rekord.

Példa:

Van egy cég, kitörlöm, voltak autói, törlődjön az összes autó az adatbázisból, ami a céghez tartozott.


Valami iylesmivel próbálkoztam:


DELIMITER $$

CREATE TRIGGER before_delete_firm

BEFORE DELETE ON posts

FOR EACH ROW BEGIN

DELETE FROM firms

WHERE cars.FirmID= firms.FirmID;

END $$


Ugyanez AFTER-rel, de valahogy egyik se ment. Igazából nem nagyon értem, hogy mi a lényegi különbség a BEFORE és az AFTER között, és ez így nagyon nem működött.

Arra gondoltam még, hogy onnan kéne törölni, ahol nincsenek kapcsolatok a másik táblához, de ezt hogy lenetne megvalósítani, azt nem tudom.

Mindenesetre ez nem működött, és mindenhol csak olyan példákat látok, ahol insert műveletet hajtottak végre a triggerben.

Lehet egyáltalán így törölni?



#MySQL #SQL #mysql trigger #mysql trigger törlés
2019. jún. 10. 16:29
 1/3 anonim ***** válasza:
100%
Felejtsd el a triggert. ON DELETE CASCADE action kell neked a foreign keyre.
2019. jún. 10. 16:55
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Köszi, megnézem!
2019. jún. 10. 17:08
 3/3 A kérdező kommentje:
Ez tényleg az, ami nekem kell. Köszönöm mégegyszer!
2019. jún. 10. 17:12

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!