如何删除有外键的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记录的主要内容,如果未能解决你的问题,请参考以下文章

如何修改数据库中主外键约束的数据?

mysql如何删除一个外键

MySQL 如何删除有外键约束的表数据

MySQL 如何删除有外键约束的表数据

MySQL 如何删除有外键约束的表数据

有外键约束的时候我们应该怎么样写入数据呢