2010-11-16 107 views
0

下面的查詢工作得很好。我希望它能做到以下幾點:根據其他字段是否有值更新不同的字段

  • 更新flag1 = '$uflag'只有當flag1爲空時。
  • 更新flag2 = '$uflag'只有當flag1有一個值並且flag2爲空時。
  • 更新flag3 = '$uflag'只有當flag1和flag2中有值且flag3爲空時。

我該怎麼做?

UPDATE submission SET votes_up = $votes_up, flag1 = '$uflag' WHERE submissionid = $id 

回答

0

你可以做

UPDATE submission 
SET votes_up = $votes_up, 
    flag1 = '$uflag', 
    flag2 = IF(flag1 != '' AND flag2 = '','$uflag',flag2) 
WHERE submissionid = $id 

即 「更新」 FLAG2到以前的值時,不會滿足的條件。

+0

請記住引號和轉義。 ;) – AndreKR 2010-11-16 18:14:05

1

如果您想保持簡單的查詢,您可以使用SQL執行前的條件來確定在PHP中使用哪個SQL。

相關問題