根据其他字段是否具有值来更新不同的字段

时间:2010-11-16 18:03:21

标签: php mysql

下面的查询工作得很好。我希望它能做到以下几点:

  • 仅当flag1为空时才更新flag1 = '$uflag'
  • 仅当flag1中包含值且flag2为空时才更新flag2 = '$uflag'
  • 仅当flag1和flag2中包含值且flag3为空时才更新flag3 = '$uflag'

我怎么能这样做?

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

2 个答案:

答案 0 :(得分:1)

如果要保持查询简单,可以在SQL执行之前使用条件确定在PHP中使用哪个SQL。

答案 1 :(得分:0)

你可以做到

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

即。当条件不满足时,将“update”更新为其先前的值。