使用类似内容更新 MySQL 中的多行



我有一个事件表。(我没有创建此表)

字段为 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

相关内容

  • 没有找到相关文章

最新更新