Autor Zpráva
zis
Profil *
Zdravim,

mam trigger v mysql
DELIMITER $$
CREATE TRIGGER squadonmatchdremove_trg
BEFORE DELETE ON squadonmatch
FOR EACH ROW BEGIN
  DELETE FROM `action` a WHERE a.goal_id=(SELECT * FROM goal WHERE goal.squadonmatch_id=OLD.id);
  DELETE FROM `action` a WHERE a.card_id=(SELECT * FROM card WHERE card.squadonmatch_id=OLD.id);
  DELETE FROM card WHERE card.squadonmatch_id = OLD.id;
  DELETE FROM goal WHERE goal.squadonmatch_id = OLD.id;
  DELETE FROM mistake WHERE mistake.squadonmatch_id = OLD.id;
END;
DELIMITER ;


V podstate smazanim radku v tabulce squadonmatch, mazu zaznamy v tabulkach action, card, goal, mistake
Tabulka goal, card, mistake ma cizi klic na squadonmatch a tabulka action na card nebo goal.

Vytvorim trigger a spustim dotaz na smazani
DELETE FROM squadonmatch WHERE id=xx


Ale napise to chybu
1451 - Cannot delete or update a parent row: a foreign key constraint fails `goal`


Diky za napady

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0