mysql - Mysql外键约束删除
问题描述
我在许多表中都有许多外键约束,这些表使用 ID(外键和主键)连接,我想删除外键约束,因为我已经划分了我的数据库。
我只想将外键列更改为只有虚拟整数而没有任何约束。
我正在使用带有 MySQL 的 Workbench
解决方案
这是一个生成一组 SQL 语句以删除所有外键的查询:
SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME,
'` DROP FOREIGN KEY `', CONSTRAINT_NAME, '`;') AS _sql
FROM information_schema.table_constraints WHERE CONSTRAINT_TYPE='FOREIGN KEY';
然后,您将执行此查询输出的字符串作为新查询,一次一行。
推荐阅读
- design-patterns - 工厂方法模式是否遵循模板模式,而抽象工厂模式不遵循?
- python - 使用 keras 顺序模型获得较差的分类精度
- c++ - '.() at 0xdeadbeef' 在 AIX 上由 dbx 生成的(核心文件)堆栈跟踪中是什么意思?
- c# - 为什么我的攻击功能会破坏包括攻击者在内的所有对象?
- json - 在 POST 请求后需要一些帮助使用 JSON 数据填充 tableview
- c# - 如果还使用了限制,如何转换并返回通用组合?
- javascript - 属性中的反应性在控件之间不起作用
- r - 以函数列表为列的数据框
- javascript - 从 json 数组中删除未定义的键
- r - R中的获取函数不返回存在的对象