MySQL - 级联更新有效但级联删除不起作用

时间:2016-06-08 11:22:39

标签: mysql foreign-key-relationship

有两张桌子; proizvodi(父)表和normativ(子表),关系1:N。

父表上的主键是字段Sifra,在子表SifraProizvoda上。 当我在父表中进行更新时,更改反映在子表上,但如果我尝试删除父表中的某些内容,则会收到错误:

  

/ * SQL错误(1451):无法删除或更新父行:外键约束失败(racunicijenapro,CONSTRAINT FK_cijenapro_proizvodi FOREIGN KEY({{1} })REFERENCES SifraProizvodaproizvodi)ON UPETE UP ACTION ON UPDATE CASCADE)* /

以下是表link

的结构

我做错了什么?

1 个答案:

答案 0 :(得分:0)

ON DELETE CASCADE也应该ON UPDATE CASCADE。你现在拥有的是ON DELETE NO ACTION所以外键关联阻止你删除父,因为它不想要孤儿。如果您也有ON DELETE CASCADE,则父项和子项都将被删除。您可以使用ALTER TABLEON DELETE CASCADE添加到表格中。您必须首先删除现有约束,因为ON UPDATE CASCADEON DELETE CASCADE

只允许一个约束