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

标签 mysql scripting foreign-keys

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

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

最佳答案

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

关于mysql - 以编程方式将 ON DELETE CASCADE 添加到所有表上的现有外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41905495/

相关文章:

php - 如何处理多语言网页内容?

Mysql innoDB 不断崩溃

powershell - 为什么变量的范围会根据它是 .ps1 还是 .psm1 文件而改变,如何缓解这种情况?

linux - 搜索某些模式并替换行中间的某些文本并忽略该行的最后一个字符

mysql select with joins with foreign keys 当使用提供的id时

php - 省略/忽略用户已购买的任何记录

PHP MySQL PDO 重复

c# - Roslyn/CSharpScript - 如何保存/加载编译以避免编译等待时间

oracle - 添加 FK 约束时权限不足 (Oracle)

MySQL DROP 所有表,忽略外键