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

时间:2017-01-28 01:25:56

标签: mysql scripting foreign-keys

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

有没有人对如何自动化有任何建议?我是一名PHP开发人员,但我对所有人都能想到的任何语言的解决方案持开放态度。

1 个答案:

答案 0 :(得分:0)

我认为你可以通过编程方式完成。当需要删除主要实体时。 Loop认为所有表中具有此实体的PK为FK的所有行。先删除它们。然后删除主表中的主行(实体)。在交易中执行此操作。我不知道。两种方式听起来都太乱了。