无法导入SQL转储至数据库:MySQL #1231错误修复方案咨询
解决phpMyAdmin导入SQL时FOREIGN_KEY_CHECKS设置失败的问题
试试这几个解决办法:
修改SQL转储文件
打开要导入的SQL文件,找到那条报错的/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;语句,直接替换成SET FOREIGN_KEY_CHECKS=0;。导入完成后,再在phpMyAdmin的SQL执行窗口手动运行SET FOREIGN_KEY_CHECKS=1;恢复外键约束。嫌麻烦的话,也可以直接删掉那条报错语句,换成SET FOREIGN_KEY_CHECKS=0;,导入时禁用外键约束能避免表顺序不对导致的各种问题。用phpMyAdmin自带选项跳过外键检查
进入phpMyAdmin的导入页面,往下翻找到「SQL执行选项」区域,取消勾选「启用外键检查」。这样导入时phpMyAdmin会自动帮你处理外键约束的开关,不用手动改SQL文件。检查数据库用户权限
如果上面的方法都没用,看看当前用的数据库用户有没有足够权限修改系统变量。在phpMyAdmin里执行SHOW GRANTS FOR CURRENT_USER;就能看到权限列表,要是缺SUPER权限,找管理员加一下。临时/永久调整MySQL配置
- 临时调整:导入前先在SQL执行窗口运行
SET GLOBAL FOREIGN_KEY_CHECKS=0;,导入完再运行SET GLOBAL FOREIGN_KEY_CHECKS=1;,这个需要全局权限。 - 永久调整(不推荐,除非必要):修改MySQL的my.cnf(Linux)或my.ini(Windows)文件,添加一行
foreign_key_checks=0,重启服务后导入,完成后再改回原值并重启。
- 临时调整:导入前先在SQL执行窗口运行
内容的提问来源于stack exchange,提问作者Atom Particle
相关产品推荐
相关产品推荐

