我有一个很大的 MySQL 插入语句文件,需要提交到数据库。
通常我只会“cat $FILE|mysql -u$USER -p$PASS database”。
问题是,该文件偶尔会出现错误,导致该命令失败。
这是对于我来说,跳过有错误的行是安全的,但不希望多次重新提交相同的数据。
- 对于我来说,解析此文件并将其提交到数据库的最佳方法是什么?
我已经编写了一个可以工作的 bash 脚本 - 除非文件很大时需要花费太长时间(它在处理完每一行后都会删除它,这样中断脚本不会导致数据再次重新提交,这是一个缓慢的过程)
答案1
为什么不直接向 mysql 提供 --force 选项并使用你的 cat | mysql ....
--force, -f
Continue even if an SQL error occurs.
答案2
我相信mysql --force
告诉客户端在出现错误后继续