有两张桌子; proizvodi(父)表和normativ(子表),关系1:N。
父表上的主键是字段Sifra,在子表SifraProizvoda上。 当我在父表中进行更新时,更改反映在子表上,但如果我尝试删除父表中的某些内容,则会收到错误:
/ * SQL错误(1451):无法删除或更新父行:外键约束失败(
racuni
。cijenapro
,CONSTRAINTFK_cijenapro_proizvodi
FOREIGN KEY({{1} })REFERENCESSifraProizvoda
(proizvodi
)ON UPETE UP ACTION ON UPDATE CASCADE)* /
以下是表link
的结构我做错了什么?
答案 0 :(得分:0)
ON DELETE CASCADE
也应该ON UPDATE CASCADE
。你现在拥有的是ON DELETE NO ACTION
所以外键关联阻止你删除父,因为它不想要孤儿。如果您也有ON DELETE CASCADE
,则父项和子项都将被删除。您可以使用ALTER TABLE
将ON DELETE CASCADE
添加到表格中。您必须首先删除现有约束,因为ON UPDATE CASCADE
和ON DELETE CASCADE