我正在构建一个显示单位状态的状态系统,如果您按下按钮,如果您的名字类似于该任务的角色之一,任务的状态就会更新。但是我不希望状态降级,它需要显示最新状态。所以我想做的是这样的
更新状态 设置 status=cleared,其中 jobtask1=name 或 jobtask2=name AND status=in_progress OR status=in_wait
UPDATE data
SET status='cleared' WHERE person1='$name' OR person2='$name' OR person3='$name' OR person4='$name'
AND status='in_progress' OR status='preparation' OR status='in_wait' OR
status=''
因此,它会检查其中一个人是否是更新状态的人,或者状态是否类似于指定的状态之一。我希望它检查该人是否类似于更新状态的人,如果是,则检查状态是否类似于指定的状态之一,如果两者都正确则更新状态。
最佳答案
您可以尝试使用 SWITCH CASE 逻辑
UPDATE data
SET status =
CASE
WHEN (person1='$name' OR person2='$name' OR person3='$name' OR person4='$name') THEN 'cleared'
WHEN (<second_condition>) THEN 'in_progress'
...
ELSE ''
END
您还应该考虑根据规范化原则重新设计数据库。
关于php - 想要使用两个具有多个值的条件进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808159/