MySQL:错误 1217 (23000):无法删除或更新父行:外键约束失败 - 但仅适用于 1 个 sql 文件
Posted
技术标签:
【中文标题】MySQL:错误 1217 (23000):无法删除或更新父行:外键约束失败 - 但仅适用于 1 个 sql 文件【英文标题】:MySQL: ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails - but only for 1 sql file 【发布时间】:2020-06-30 19:59:15 【问题描述】:我正在尝试将数据从 sql 文件导入本地 mysql 数据库。我正在使用 WampServer2.5、MySQL 5.6.17。我正在使用 MySQL 控制台导入它们,因为 phpMyAdmin 界面导致了一些问题。
前两个文件似乎已正确上传。但是,它们比第三个要小得多。步骤始终相同:
1. create database xyz;
2. use database xyz;
3. SET FOREIGN_KEY_CHECKS = 0;
4. source path/to/the/xyz.sql
在某些时候上传第三个文件时出现此错误(连续几个,然后继续上传):
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: [some number]
Current database: xyz
然后获取其中的一些,这很奇怪,因为我一开始就设置了(也许在连接丢失时会重置此设置?):
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
结果是我上传了所有表,但其中一些没有数据 - 主要是因为它们引用了第三个数据库中的用户表,该数据库没有记录。
想法/问题:
-
我尝试编辑 php.ini 文件以增加内存限制、最大文件上传大小但对 PHPMyAdmin 界面没有影响
我可以在sql文件中只找到一张表,然后将记录上传到我的MYSQL数据库中的表中吗?
【问题讨论】:
【参考方案1】:在我在 Notepad++ 中打开完整的 sql 文件后更新了表,发现只有在该特定表中插入了值的行,将其保存为新的 sql 文件,然后使用“source”命令。
【讨论】:
以上是关于MySQL:错误 1217 (23000):无法删除或更新父行:外键约束失败 - 但仅适用于 1 个 sql 文件的主要内容,如果未能解决你的问题,请参考以下文章
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
mysql 错误代码1217 MYSQL外键约束检查失败,删除或修改主表记录失败 怎么解决啊