gpt4 book ai didi

mysql - 在 MySQL 中强制执行无约束的级联删除

转载 作者:行者123 更新时间:2023-11-29 11:48:57 24 4
gpt4 key购买 nike

我想知道MySQL删除时是否可以强制级联?

我知道为了能够删除父级的所有子级,它必须存在:

REFERENCES table (fk) ON DELETE CASCADE ON UPDATE CASCADE

但是我的表没有它,所以,回到我的问题,有没有办法强制它?

最佳答案

要么将其放入原始表创建中,要么尝试事后使用ALTER TABLE来建立它

mysql手册页ALTER TABLE Syntax

如果选择事后建立,则适用与上述链接中所示的相同规则。如果这些或数据预先存在,则执行将因 ALTER TABLE 调用而失败,然后尝试通过级联删除建立 fk 将失败。

请参阅该手册页,并查看ADD CONSTRAINTDROP CONSTRAINT。现有约束没有改变。相反,必须删除它然后重新添加它。

更改添加示例”

ALTER TABLE lunches
ADD CONSTRAINT `fk_lunches_users`
FOREIGN KEY (`studentId` )
REFERENCES `students` (`studentId` )
ON DELETE CASCADE;

还值得研究的 foreign_key_checks 。也就是说,有人愿意暂时禁用它们。

关于mysql - 在 MySQL 中强制执行无约束的级联删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34484142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com