Hogyan tudok ilyen triggert létrehozni mysql-ben?
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?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!