MySQL update语句未按预期工作

MySQL update语句未按预期工作,mysql,Mysql,我正在尝试做一个简单的mysql更新语句,或者至少我认为它是一个简单的更新语句。它正在成功执行,但与指定的条件不匹配,并且不会更新表。。。有人能看出我做错了什么吗 update messagequeue set timesent = curtime() where deviceid = '1231231237' and timesent = NULL 表中有4列和1行 id, message, deviceid, timesent the timesent is default null.

我正在尝试做一个简单的mysql更新语句,或者至少我认为它是一个简单的更新语句。它正在成功执行,但与指定的条件不匹配,并且不会更新表。。。有人能看出我做错了什么吗

update messagequeue set timesent = curtime() where deviceid = '1231231237' and timesent = NULL
表中有4列和1行

id, message, deviceid, timesent

the timesent is default null.
the deviceid is '1231231237'
id = 1
message is just some junk....

查询不起作用:(

对。“=”不适用于NULL,因此您应该使用“IS NULL”,就像在Sebas的回答中一样

UPDATE messagequeue SET timesent = curtime() WHERE deviceid = '1231231237' AND timesent IS NULL
NULL不会按照您定义的那样工作,而是使用NULL检查

还要检查数据类型“deviceid”。如果它是Int,则不要对其使用单引号,请如下使用:

UPDATE messagequeue SET timesent = curtime() WHERE deviceid = 1231231237 AND timesent IS NULL
UPDATE messagequeue SET timesent = curtime() WHERE deviceid = 1231231237 AND timesent IS NULL