在删除限制mysql不工作

q1qsirdb  于 2023-01-04  发布在  Mysql
关注(0)|答案(2)|浏览(113)

我想防止从父表删除时,他有孩子在其他表。
我做的像这样

ALTER TABLE constant_det_tb 
ADD CONSTRAINT fk_idparent
FOREIGN KEY (idparent)
REFERENCES constant_tb(id) ON DELETE RESTRICT

当我从父constant_tb表中删除时,它会删除行,即使该表引用了另一个表,并且有记录引用它。

eeq64g8w

eeq64g8w1#

确保您有InnoDB作为所有受影响表的存储引擎。
选中此项(如果尚未选中):http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

ON DELETE RESTRICT

引用选项是实现此目的所需的全部。

0kjbasz6

0kjbasz62#

可以为当前会话禁用外键检查。可以使用启用

SET FOREIGN_KEY_CHECKS = 1;

相关问题