根据条件在某些行中填充值

时间:2019-11-21 13:44:05

标签: python sql sqlite

我正在与sqlite3合作,以便使用Python与SQLite数据库集成。

我有一个名为trips的表。其中有4列:

  • trip_id(INT主键值:1、2、3 ... 2145)
  • day(文本值:'1','2'...'7')
  • month(文本值:'1','2','3'...'12')
  • is_date(vlues:全部为NULL)

我也有旅行ID值的列表。

对于trip_id在列表中的每一行,如果天是3,月份是1,我想在is_date列中填充值'1'。我想填写0。 有没有办法用一个SQLite命令来做到这一点?

1 个答案:

答案 0 :(得分:0)

这似乎是CASE声明的工作:

UPDATE trips 
    SET is_date=CASE WHEN day=3 AND month=1 THEN 1 ELSE 0 END
WHERE trip_id IN (1, 2, 3);