一、描述:

  Mysql中的FOREIGN_KEY_CHECKS是用来启动和关闭外键约束的方法。

二、错误:

  在MySQL中删除一张表或一条数据的时候,提示以下错误:

[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...)

三、原因:

  这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。

四、解决方法:

  可以通过设置FOREIGN_KEY_CHECKS避免这种情况。

   执行SET FOREIGN_KEY_CHECKS=0;禁用外键约束。删除数据后可以在开启外键约束:SET FOREIGN_KEY_CHECKS=1;比如:

1

2

3

SET FOREIGN_KEY_CHECKS = 0;

DELETE FROM TABLE_NAME_;

SET FOREIGN_KEY_CHECKS = 1;

五、相关命令

  查看当前FOREIGN_KEY_CHECKS的值可用如下命令:    SELECT  @@FOREIGN_KEY_CHECKS;

推荐内容
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐