我有一个非常长的sql脚本,大约有250000个更新。
在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语句的一个示例,以防它有所帮助:
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';
暂无答案!
目前还没有任何答案,快来回答吧!