删除MySQL中所有表的外键的两种方法!
删除MySQL中所有表的外键的两种方法!
这篇文章主要介绍了删除MySQL中所有表的外键的两种方法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下。
方法一:
原理
查询schema中所有外键名称然后拼接生成删除语句
第一步:
1
2
3
|
SELECT CONCAT( 'ALTER TABLE ' ,TABLE_SCHEMA, '.' ,TABLE_NAME, ' DROP FOREIGN KEY ' ,CONSTRAINT_NAME, ' ;' ) FROM information_schema.TABLE_CONSTRAINTS c WHERE c.TABLE_SCHEMA= '数据库名' AND c.CONSTRAINT_TYPE= 'FOREIGN KEY' ; |
第二步:
将执行第一步得到的SQL语句拷贝到命令行中执行,就会删除所有的外键了。
方法二
1
2
3
4
|
-- 禁用外键约束 SET FOREIGN_KEY_CHECKS = 0 -- 启用外键约束 SET FOREIGN_KEY_CHECKS = 1; |
由于FOREIGN_KEY_CHECKS是基于session的,当关闭了session重新建立连接,这个变量就会恢复默认值,也就是开启外键约束,当然我们也可以全局的FOREIGN_KEY_CHECKS变量。
1
2
3
|
SET GLOBAL FOREIGN_KEY_CHECKS = 0; 或者: SET @@ GLOBAL .FOREIGN_KEY_CHECKS = 0; |
修改完成后,可以使用下面命令查看修改后的结果:
1
|
SELECT @@FOREIGN_KEY_CHECKS; |
到此这篇关于删除MySQL中所有表的外键的两种方法的文章就介绍到这了。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论