我有一个 MySQL 数据库的备份脚本,使用mysqldump
该--tab
选项,因此它会生成一个.sql
为结构生成一个文件,为内容生成一个.txt
文件(管道分隔)。
有些表有外键,所以当我导入它时,我得到了错误:
第 8 行的错误 1217 (23000):无法删除或更新父行:外键约束失败
我知道使用SET FOREIGN_KEY_CHECKS=0
(以及SET FOREIGN_KEY_CHECKS=1
之后)。如果我将它们添加到每个.sql
文件中,那么导入就可以了。但显然在下一个mysqldump
的那些被覆盖。
我还尝试将其作为单独的命令运行,如下所示,但错误又回来了:
echo "SET FOREIGN_KEY_CHECKS=0" | mysql [user/pass/database]
[all the imports]
echo "SET FOREIGN_KEY_CHECKS=1" | mysql [user/pass/database]
是否有其他方法可以在命令行上禁用 FK 检查?