我为sql查询编写了一些错误的语法。但是,它仍然没有在javatomcat服务器上输出错误。在Debian9上运行。mysql版本:
mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64)
查询如下,我把逗号“,”with“和”放错了set运算符后面
UPDATE table_pod_print set print_status = 1 and operator_id = 2091 where id = 1
我试着在控制台上运行它,结果是:
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
请帮助我理解为什么查询首先起作用。
1条答案
按热度按时间inkz8wg91#
在mysql中
SELECT 1 AND 0;
生产0
因为and运算符将操作数计算为逻辑and。看看你的问题SET print_status
评估为(为清楚起见,添加了额外的括号):也就是说
1 AND 1
如果operator_id = 2091
用于更新id = 1
争吵是真的1 AND 0
如果没有。