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
绍兴高防服务器
多台服务器下载一个文件
计算机信和网络安全保密
同一网络有多个服务器程序
从网关采集数据到服务器
军工企业软件开发公司
中网安达网络安全有限公司
一个服务器可安装多个数据库吗
吴江区推广软件开发口碑
刺激战场国际服去哪个服务器人多
买水果网络安全段子
二年级网络安全手抄报 小学
软件开发考证考什么
江西第一届网络安全大赛
根服务器的价格