gpt4 book ai didi

mysql - 删除数据库中的所有外键(MySql)

转载 作者:IT老高 更新时间:2023-10-28 23:54:48 26 4
gpt4 key购买 nike

我想重命名表中的列,该列是许多表的外键。显然,这只有在您删除约束时才有可能,正如我在 link 中发现的那样。 .

我不想手动删除所有约束有没有办法删除数据库中的所有外键约束?

我也尝试过 SET FOREIGN_KEY_CHECKS=0; 但我仍然无法重命名该列。

最佳答案

您可以使用此 SQL 生成 ALTER TABLES(!!YOUR_SCHEMA_HERE!! 需要替换为您的架构):

SELECT concat('alter table `',table_schema,'`.`',table_name,'` DROP FOREIGN KEY ',constraint_name,';')
FROM information_schema.table_constraints
WHERE constraint_type='FOREIGN KEY'
AND table_schema='!!YOUR_SCHEMA_HERE!!';

它会生成这样的 SQL:

alter table `viewpoint_test`.`answer_code` DROP FOREIGN KEY fk_answer_code_codebook_item1;
alter table `viewpoint_test`.`answer_code` DROP FOREIGN KEY fk_answer_code_questionary_answer1;
alter table `viewpoint_test`.`codebook` DROP FOREIGN KEY codebook_ibfk_1;
...

“模式名称”是指您的数据库名称。都是一样的。

关于mysql - 删除数据库中的所有外键(MySql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com