Alm*_*mad 35 mysql bash backup mysqldump mysql-error-1062
鉴于mysqldump导致导入错误的错误:
namtar backups # mysql -p < 2010-12-01.sql
Enter password:
ERROR 1062 (23000) at line 8020: Duplicate entry 'l?he?' for key 'wrd_txt'
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以告诉导入只是跳过给定的行并继续?
(是的,我知道我可以手动编辑文件或解析输出,但它不是很方便)
jml*_*ele 46
如果您可以再次进行转储,则可以在转储时添加--insert-ignore到命令行.
或者你可以尝试使用mysqlimport命令--force,即使它遇到MySQL错误也会继续.
Ben*_*Ben 22
根据jmlsteele的回答和评论的建议,这里是如何将插入转换INSERT IGNORE为动态.
如果您要从sql文件导入:
sed -e "s/^INSERT INTO/INSERT IGNORE INTO/" < 2010-12-01.sql | mysql -p
Run Code Online (Sandbox Code Playgroud)
如果您要从gz文件导入,只需将gunzip的输出传输到sed而不是使用文件输入:
gunzip < 2010-12-01.sql.gz | sed -e "s/^INSERT INTO/INSERT IGNORE INTO/" | mysql -p
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60359 次 |
| 最近记录: |