繁体   English   中英

以编程方式将ON DELETE CASCADE添加到所有表上的现有外键约束中

[英]Programmatically add ON DELETE CASCADE to existing foreign key constraints on all tables

我正在使用具有许多外键的大型数据库(超过250个表),但是没有一个设置为ON DELETE CASCADE。 我意识到这意味着我需要删除外键约束并重新创建它。 这本身并不算太糟。 但是在现有的874个外键约束条件下,这确实可能要花我很长时间。

有人对如何实现此自动化有任何建议吗? 我是从事贸易的PHP开发人员,但是我愿意接受任何人都能想到的任何语言的任何解决方案。

我认为您可以以编程方式进行操作。 需要删除主要实体时。 Loop将所有具有该实体PK的表中的所有行都视为FK。 首先删除它们。 然后删除主表中的主行(实体)。 在事务中执行此操作。 我不知道。 两种方法听起来都太混乱了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM