我试图创建一个查询来更新多个记录,但我错误地编写了错误的版本,但它运行时没有任何错误。
错误版本:update table SET c1=1 AND c2=2
.
任何人都可以解释它做什么以及为什么它不会失败。
我猜:
update table SET c1=1 AND c2=2
翻译成:
update table
SET c1 = (1 AND c2=2)
然后表达式(1 AND c2=2)
被计算并隐式转换以更新字段c1
。
因此,例如,如果您的表格如下所示:
create table mytable (c1 int, c2 int);
insert into mytable values
(1, 3),
(2, 1),
(3, 2);
询问:
SELECT c1, c2, 1 AND c2=2 AS expr
FROM mytable
返回:
c1, c2, expr
------------
1, 3, 0
2, 1, 0
3, 2, 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句