首页 > 解决方案 > Mysql外键约束删除

问题描述

我在许多表中都有许多外键约束,这些表使用 ID(外键和主键)连接,我想删除外键约束,因为我已经划分了我的数据库。

我只想将外键列更改为只有虚拟整数而没有任何约束。

我正在使用带有 MySQL 的 Workbench

标签: mysqlsqllaravel

解决方案


这是一个生成一组 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';

然后,您将执行此查询输出的字符串作为新查询,一次一行。


推荐阅读