加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql - 删除表时出现: Cannot delete or update a parent row:

发布时间:2020-12-12 02:13:24 所属栏目:MySql教程 来源:网络整理
导读:现象 MySQL在删除一张表时出现 ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails ? 原因 可能是在Mysql中,删除的表和另一张表设置了foreign key的关联,造成无法更新或删除数据; ? 解决方案 可以通过设置FOREIG

现象

MySQL在删除一张表时出现

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

?

原因

可能是在Mysql中,删除的表和另一张表设置了foreign key的关联,造成无法更新或删除数据;

?

解决方案

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

禁用外键约束

SET FOREIGN_KEY_CHECKS = 0;

然后就可以删除表了

删除完成后再启动外键约束

1; 

?

查看当前FOREIGN_KEY_CHECKS的值可用如下命令

SELECT  @@FOREIGN_KEY_CHECKS;

?

注意

这样设置只会影响当前会话, 不会影响全局

若想设置全局变量的话,可以这样写

SET GLOBAL FOREIGN_KEY_CHECKS 0; 

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读