我有一个事件表。(我没有创建此表)
字段为 id、event_id、start_date、end_date e_status
唯一不唯一的是 id。其余部分在所有行上都相同。
如何更新状态?
我试过了:
UPDATE events
SET e_status =
CASE event_id
WHEN 12830 THEN 0
END
WHERE start_date = '2016-06-24 17:30:00'
AND end_date = '2016-06-24 18:00:00'
AND event_id IN (12830)
未更改任何更新。
编辑前
ID Event Status
1 USA 0
2 UK 0
3 Canada 0
您的简单查询将是
update event set status=1
编辑后
ID Event Status
1 USA 1
2 UK 1
3 Canada 1
如果你想定位特定的记录,只需使用where子句
更新事件集状态 = 1,其中 id=1
如果除 id 列之外的所有行上的所有数据都相同,则 WHERE 子句中不需要任何条件。你应该能够拥有这个:
UPDATE events
SET e_status =
CASE event_id
WHEN 12830 THEN 0
END
实际上,您甚至不需要案例陈述。如果除id
之外的所有数据都相同,那么不是所有行都有event_id = 12830
吗?你可以只有==>
UPDATE events
set e_status = 0