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就行。