一、描述:

  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

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐