2012-06-18 3 views
2

간단한 mysql 업데이트 문을 수행하려고합니다. 또는 적어도 간단한 업데이트 문이라고 생각합니다. 그것은 성공적으로 실행하고 있지만 그것은 조건을 지정하고 일치하지 않는 표를 업데이 트 ... 아무도 내가 잘못하고있는 것을 볼 수 있습니까?MySQL 업데이트 문이 예상대로 작동하지 않습니다.

update messagequeue set timesent = curtime() where deviceid = '1231231237' and timesent = NULL 

테이블과 행에 4 개의 열이 있습니다.

id, message, deviceid, timesent 

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

쿼리 단지 나던 일 :(

답변

3
update messagequeue set timesent = curtime() where deviceid = '1231231237' and timesent IS NULL 
1

맞아. 당신이 사용해야하므로 '='는 NULL 작동하지 않습니다는 Sebas의 대답으로 'NULL IS'.

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

null로 정의한대로 작동하지 않습니다. 대신 NULL을 사용하십시오.

데이터 유형 'deviceid'도 확인하십시오. Int 인 경우 노래를 사용하지 마십시오. le 따옴표를 다음과 같이 사용하십시오.

UPDATE messagequeue SET timesent = curtime() WHERE deviceid = 1231231237 AND timesent IS NULL 
관련 문제