使用MYSQL更新同一标志两次

使用MYSQL更新同一标志两次,mysql,Mysql,我有一个名为chart的表,有两列,分别是UPC\u REPORT\u ID和UPC\u FLAG 我正试图准备一个查询来更新UPC\u FLAG=1如果UPC\u REPORT\u ID=1,同时我想更新UPC\u FLAG=0其中UPC\u REPORT\u ID=2 请给我一些建议什么时候使用 UPDATE chart SET UPC_FLAG = (CASE WHEN UPC_REPORT_ID=1 THEN 1 ELSE CASE WHEN UPC_REPORT_ID !=2 THEN

我有一个名为
chart
的表,有两列,分别是
UPC\u REPORT\u ID
UPC\u FLAG
我正试图准备一个查询来更新
UPC\u FLAG=1
如果
UPC\u REPORT\u ID=1
,同时我想更新
UPC\u FLAG=0
其中
UPC\u REPORT\u ID=2
请给我一些建议

什么时候使用

UPDATE chart SET UPC_FLAG = (CASE WHEN UPC_REPORT_ID=1 THEN 1 ELSE CASE WHEN UPC_REPORT_ID !=2 THEN 0 END END)
更新。。。当UPC\U报告=1时设置UPC\U标志=案例,当UPC\U报告ID为2时设置1,然后设置0结束,其中


--dmg

与IF和Barmar的答案一样

UPDATE chart
SET UPC_FLAG = IF(UPC_REPORT_ID = 1,1,IF(UPC_REPORT_ID <> 2,2,0))
更新图表
设置UPC_标志=IF(UPC_报告_ID=1,1,IF(UPC_报告_ID 2,2,0))

所有满足
UPC\u REPORT\u ID=1的行也将满足
UPC\u REPORT\u ID=2
条件。最终,所有
UPC\u标志
都将设置为相同的值
UPDATE chart
SET UPC_FLAG = IF(UPC_REPORT_ID = 1,1,IF(UPC_REPORT_ID <> 2,2,0))