如何删除有外键的mysql记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除有外键的mysql记录相关的知识,希望对你有一定的参考价值。
如何删除有外键的mysql记录
那就需要先删除主表里的记录,再删除子表里的记录。
比如有如下数据:
A表
uid name
1 张三
2 李四
B表
uid 科目 分数
1 数学 90
1 语文 80
2 数学 70
2 语文 60
现在要删除A表里张三的记录,如果有外键,直接
delete from A where uid=1这样是删除不了的。
所以要先删除B表里uid=1的记录再执行上边这句
delete from B where uid=1然后再执行
delete from A where uid=1就可以了
参考技术A 如果是这个记录删除后外键的相应记录也要删除,可以考虑级联。 参考技术B 先把外键表记录都删掉 再删除主表里的数据本回答被提问者采纳MySQL 如何删除有外键约束的表数据
-- 禁用外键约束 SET FOREIGN_KEY_CHECKS=0; -- 删除数据 truncate table stockTBL; -- 启动外键约束 SET FOREIGN_KEY_CHECKS=1; -- 查看当前FOREIGN_KEY_CHECKS的值,可用如下命令: SELECT @@FOREIGN_KEY_CHECKS;
以上是关于如何删除有外键的mysql记录的主要内容,如果未能解决你的问题,请参考以下文章