现象

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;

然后就可以删除表了

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

SET FOREIGN_KEY_CHECKS = 1; 

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

SELECT  @@FOREIGN_KEY_CHECKS;

注意

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

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

SET GLOBAL FOREIGN_KEY_CHECKS = 0; 

最新文章

  1. 学习OpenStack之 (0):基础知识
  2. editplus的配置和使用
  3. mongoose学习文档
  4. Uploadify文件上传
  5. 第七章 探秘Qt的核心机制-信号与槽
  6. backbone case
  7. php 编译安装curl 时候出现问题
  8. HDU2196-Computer
  9. Ngnix安装
  10. QT IP输入框正则表达式(使用QLineEdit的setValidator函数)
  11. myeclipse6.0安装svn插件
  12. 10. Regular Expression Matching
  13. js zhi网马
  14. Git的思想和基本工作原理2
  15. 安装jdk设置环境变量(win10)
  16. 【JDK源码】将JDK源码导入IDEA中
  17. 算法实践--最长公共子序列(Longest Common Subsquence)
  18. vue常用插件汇总
  19. Javascript中的Form表单知识点总结
  20. java getenv getProperties区别

热门文章

  1. Selenium&Pytesseract模拟登录+验证码识别
  2. 为什么 generator 忽略第一次 next 调用的参数值呢?
  3. AF(操作者框架)系列(3)-创建第一个Actor的程序
  4. iOS中的分类和扩展
  5. JVM优化之垃圾收集器以及内存分配
  6. 在高德地图上用svg.js绘制简单图形
  7. 【WPF学习】第五十六章 基于帧的动画
  8. JZOJ 1776. 经济编码 (Standard IO)
  9. Nginx的工作原理
  10. springmvc 的@ResponseBody 如何使用JSONP?