在MySQL中删除一张表或一条数据的时候,出现
[Err] 1451 -Cannot deleteorupdatea parent row:
aforeignkeyconstraintfails (...)
这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。
禁用外键约束,我们可以使用:
SETFOREIGN_KEY_CHECKS=0;
然后再删除数据
启动外键约束,我们可以使用:
SETFOREIGN_KEY_CHECKS=1;
查看当前FOREIGN_KEY_CHECKS的值,可用如下命令:
SELECT @@FOREIGN_KEY_CHECKS;
相关文章
- 11-09Entity FrameWork对有外键关联的数据表的添加操作
- 11-09SQLServer 删除所有表的外键约束
- 11-092021.1.5.- 外键约束 - 数据库与表之间的关系 - 三大范式 - 多表查询 - 事务 - DCL
- 11-09如何在DJANGO里,向有外键(一对多和多对多)的DB里插入数据?
- 11-09如何在DJANGO里,向有外键(一对多和多对多)的DB里插入数据?
- 11-09MySQL8.0数据库出现的问题——外码创建方式、外键约束两个引用列不兼容问题、check约束问题、用触发器代替check约束、关键字DELIMITER、删除添加索引、删除添加外键约束、和一些数据库方面的操作
- 11-09MySQL 如何删除有外键约束的表数据
- 11-09MySQL的数据类型,MySQL增删改--添加主外键、添加属性、删除主外键、改表名、获取系统当前时间等
- 11-09删除或清空具有外键约束的表数据报-ERROR 1701 (42000)
- 11-09MySql数据库在表中添加新字段,设置主键,设置外键,字段移动位置,以及修改数据库后如何进行部署和维护的总结