2010-02-16 10 views
0
UPDATE `table` 
SET `sent`='1', `taken`='1', `free`=NULL 
WHERE `owner`='1' AND ISNULL(`sent`) AND !ISNULL(`free`); 

NULL이 항상 작동하는 것은 아니지만 NULL로 설정하십시오. 아이디어가 있으십니까? ThxMySQL이 NULL을 설정하지 않는다.

+0

당신이 있는지 확인의 다른 모든 조건이'WHERE' 문이 충족되고 있습니까 : 당신이 요청하는 모든 레코드를 반환하는 경우 – ceejayoz

+0

때로는 모든'free'가 NULL로 설정되는 경우가 있습니다. 나는 상황을 재현하려고 노력하고있다 ... – Vov4ik

+0

'free'는'owner'가'1'이고'sent'가'NULL'과 같을 때만'NULL'로 설정 될 것입니다. – ceejayoz

답변

0

트리거를 확인하십시오.

SELECT * 
FROM `table` 
WHERE `owner`='1' AND ISNULL(`sent`) AND !ISNULL(`free`); 
+0

나는 트리거가 없습니다. – Vov4ik

0
UPDATE `table` 
SET `sent`='1', `taken`='1', `free`=NULL 
WHERE `owner`='1' AND `sent` is null AND `free` is not null; 
0

확인하려면 다음 쿼리를 실행?