清空数据库时报错

Cannot delete or update a parent row: a foreign key constraint fails

在清除数据库时,会遇到此问题,原因是此表的主键是另一个表的外键,有外键约束。正常来讲,如果按照前端的逻辑来走,是不会单独删除这一个表的。因此存在有一些关系,需要逐个处理。一旦删除,就会造成数据错乱,垃圾数据等。如果非要删除,需要按照流程,逐个表来删除。而不是想怎么删就怎么删,否则自己挖的坑还得自己埋。

以下是网友的解决方法:

SET foreign_key_checks = 0;  // 先设置外键约束检查关闭
drop table table1;  // 删除表,如果要删除视图,也是如此
SET foreign_key_checks = 1; // 开启外键约束检查,以保持表结构完整性

个人觉得,如果要清库,可以把一些清除业务数据的sql语句保存一下,用的时候直接ctrl+v就行。
 

发布了95 篇原创文章 · 获赞 17 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_30299243/article/details/103913912