千家信息网

MySQL数据库中怎么删除所有表的外键约束

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,MySQL数据库中怎么删除所有表的外键约束,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述数据库的外键虽然能保证数据数据一致性和完整性
千家信息网最后更新 2025年01月31日MySQL数据库中怎么删除所有表的外键约束

MySQL数据库中怎么删除所有表的外键约束,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

概述

数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能。在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的关联关系。

在实际开发中,数据库中一般不会存在外键,阿里的开发手册中也强制不使用外键与级联操作,一切外键概念必须在应用层解决。如果数据库中已存在外键了,这时候需要禁用或者删除应该怎么办呢?

1. 修改MySQL变量FOREIGN_KEY_CHECKS(批量禁用启用所有表的外键)

-- 会话级别禁用外键约束 SET FOREIGN_KEY_CHECKS = 0; -- 会话级别启用外键约束 SET FOREIGN_KEY_CHECKS = 1; -- 全局禁用外键约束 SET GLOBAL FOREIGN_KEY_CHECKS = 0; 或者 SET @@GLOBAL.FOREIGN_KEY_CHECKS = 0; -- 全局启用外键约束 SET GLOBAL FOREIGN_KEY_CHECKS = 1;

修改完成后可以查看修改后的结果

SELECT @@FOREIGN_KEY_CHECKS;

2. 批量删除所有表的外键

查询schema中所有外键名称然后拼接生成删除语句,再执行。

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';

看完上述内容,你们掌握MySQL数据库中怎么删除所有表的外键约束的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

数据 数据库 开发 全局 内容 方法 更多 级别 问题 一致 束手无策 为此 一致性 之间 会创 原因 变量 可读性 名称 完整性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 破解同花顺数据库 网络安全边界包括什么 你的计算机开启了数据库 数据库中间有三条线 荣耀v30数据库 软件开发硬件部作用 域名解析到云服务器天翼云 杭州久歌网络技术有限公司 违害网络安全罪可以罚款处理吗 宁河区全过程网络技术答疑解惑 人力资源数据库怎么找 电脑网络技术干什么的 esxi服务器怎么添加硬盘 稳定性好的服务器监控工具 数据库为什么要有自增id 绍兴高防服务器 多台服务器下载一个文件 计算机信和网络安全保密 同一网络有多个服务器程序 从网关采集数据到服务器 军工企业软件开发公司 中网安达网络安全有限公司 一个服务器可安装多个数据库吗 吴江区推广软件开发口碑 刺激战场国际服去哪个服务器人多 买水果网络安全段子 二年级网络安全手抄报 小学 软件开发考证考什么 江西第一届网络安全大赛 根服务器的价格
0