mysql - 如何强制 mysql 客户端中的一个很长的脚本在出错时快速退出而不挂起几个小时
问题描述
我有一个很长的 SQL 脚本,大约有 250,000 次更新。
我通过管道将它传输到 linux 中的 mysql 客户端来运行它。现在我遇到了三次由脚本生成方式引起的 SQL 错误。
cat updates.sql | mysql -h kkwea1sprageyxq.poopopakte0b2.pu-west-1.rds.amazonaws.com \
-u mama_ --disable-reconnect --max-allowed-packet=536M \
--default-character-set=cp1250 --skip-column-names -D mydb > update.log
当出现错误时,mysql 客户端似乎会挂起,通常会持续数小时,然后才会自行出错。
我可以将其设置为忽略错误,但我想知道是否可以在 mysql 客户端的命令行中添加一个标志,以使其在 SQL 错误后更快地出错。
我可以看到几个可能有趣的 mysql 命令行标志,但我发现它们的描述模棱两可。
我的脚本以关闭自动提交模式运行,COMMIT
每 25 个更新命令执行一次语句。我有预感,当我使用自动提交模式打开时,它出错的速度要快得多,如果出现错误,这显然是可取的。
以下是更新语句的示例,以防有帮助:
UPDATE data SET value = 0.9234 WHERE fId = 47616 AND modDate = '2018-09-24' AND valueDate = '2007-09-01' AND last_updated < '2018-10-01';
解决方案
推荐阅读
- c# - Unity(对象引用未设置为对象的实例)错误 *C#*
- angular - Angular ServiceWorker 返回响应 404 Not Found 并启用输出散列
- python - 如何将文件夹中的多个文件打包成一个二进制文件并获取每个文件的偏移量?
- sql - 如果我的通话记录表中的通话时间不在另一个表的打卡时间和打卡时间字段之外,我如何计算它的总和?
- c# - 在运行其他方法时永远运行一个方法
- python - 积极的后向正则表达式与预期不匹配
- python - 无法在 WSL vscode 中使用 python 扩展
- kubernetes - 将微服务部署到 Kubernetes 的最佳实践
- jquery - 如何使用数据表实现 Daterangepicker?
- c++ - 如何重载访问类属性的结构运算符?