2010-11-16 61 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。

相关问题