我正在使用一个大型数据库(超过 250 个表),该数据库具有许多外键,但没有一个外键设置为 ON DELETE CASCADE。我意识到这意味着我需要删除外键约束并重新创建它。这本身并不算太糟糕。但是对于现有的 874 个外键约束,这可能真的需要我很长时间。
有人对如何自动化执行此操作有任何建议吗?我是一名 PHP 开发人员,但我对任何人都能想到的任何语言的任何解决方案都持开放态度。
最佳答案
我认为你可以通过编程来完成。当需要删除主要实体时。 Loop 认为所有表中具有该实体的 PK 的所有行都是 FK。先删除它们。然后删除主表中的主行(实体)。在事务中执行此操作。我不知道。这两种方式听起来都太困惑了。
关于mysql - 以编程方式将 ON DELETE CASCADE 添加到所有表上的现有外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41905495/