【发布时间】:2010-09-04 10:51:40
【问题描述】:
我有一个表 T,它有一个列 A。A 以默认值 NULL 开头。 40 行后,我将默认值更改为 1。三行的值为 2。我尝试选择 A 列不是 2 的所有行并将它们设置为新的默认值 1(当我没有自动发生改变了表格)。我第一次尝试:
update T set A=1 where A != 2;
纳达。没用。选择零行。接下来我尝试了:
update T set A=1 where !(A=2);
不,那里也没有。我尝试将它们插入选择中,以查看更新是否有问题,但那些也没有返回任何内容。 MySQL 参考手册说 != 和 !是有效的运算符,并且在该上下文中应该是完全有效的。我终于使用 IS NULL 实现了我的目标,但是这些语句应该有效。那么给了什么?为什么那行不通?
我正在运行 MySQL 版本:5.1.41-3ubuntu12.6 (Ubuntu)
【问题讨论】:
标签: mysql not-operator