mysql 脚本行拒绝执行(没有错误/警告)
我有一个很长的脚本,它将 csv 文件导入到保存表中,进行一些处理,然后将数据从保存表复制到最终表中。
当我运行脚本时,除了第 494 行:
UPDATE `database`.`holding`
SET `rcnt_rslts`=TRUE
WHERE `test_rcnt`=TRUE
AND (`rcntrslt`='pos' OR `rcntrslt`='neg' OR `rcntrslt`='indeterminate');
两个表中的 rcnt_rslts 都是 BOOL
/TINYINT(1)
以及上面和下面的行 之外,所有内容都会执行几乎相同并且执行得很好。脚本中的其他任何地方都没有对 rcnt_rslts 的其他引用(通过查找/替换进行验证)。
如果我将该行直接输入到 CMI 中,它就可以工作。
是否存在行/大小限制并且 mysql 只是随机选择一行来忽略?
编辑:如果重要的话,脚本运行后,rcnt_rslts
中的所有值都为NULL
。
I have a very long script that imports a csv file into a holding table, does some massaging, then copies the data from the holding table into the final table.
When I run the script, everything executes except line 494:
UPDATE `database`.`holding`
SET `rcnt_rslts`=TRUE
WHERE `test_rcnt`=TRUE
AND (`rcntrslt`='pos' OR `rcntrslt`='neg' OR `rcntrslt`='indeterminate');
rcnt_rslts
in both tables is BOOL
/TINYINT(1)
and the lines above an below are nearly identical and are executed just fine. There are no other references to rcnt_rslts
anywhere else in the script (verified with find/replace).
If I past that line directly into the CMI, it works.
Is there a line/size limit and mysql just randomly picked a line to ignore?
edit: if it matters, all values in rcnt_rslts
are NULL
after the script runs.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好的,我会尝试一下:
1- 也许您在 rcntrslt 中输入错误,这样做,您只列出一次。
2-
=
可以区分大小写,LIKE
从来不区分大小写,尝试:3- rcntrslt 还可以有哪些其他值,您不能反转所有测试?
4- 也许
rcntrslt
中存在一些污染,导致出现空格或其他不可打印的字符。5-如果你想调试,你总是可以在那里做一些诊断选择来看看发生了什么。
等等。
现在检查日志看看出了什么问题。
OK I'll give it a try:
1- Maybe you made a typo in
rcntrslt
, do it like this and you only list it once.2-
=
can be case sensitive,LIKE
never is, try:3- What other values can
rcntrslt
have, you not reverse all the tests?4- Maybe there is some pollution in
rcntrslt
causing spaces or other non-printable chars to be there.5- If you want to debug, you can always do some diagnosic SELECTS in there to see what's going on.
etc.
Now check the log to see what's wrong.