单行上的SQLite Query SET变量

时间:2016-03-08 09:29:57

标签: mysql sqlite row identity-column

我有一张名为" allarmi_ingressi"在SQLite中,其中有很多行。 我想创建一个更改列上变量的查询" visto"如果" visto = 0",则为0,如果" visto = 1"。 这就是我所做的:

UPDATE allarmi_ingressi SET visto = '1' WHERE visto = '0'

当然这会修改列中的每一行" visto&#34 ;;

我想知道是否可以修改它"选择"它由主键,在我的情况下" id_allarme"。

2 个答案:

答案 0 :(得分:0)

使用 CASE Expression

<强>查询

update allarmi_ingressi 
set visto = (
    case visto when '1' then '0'
    when '0' then '1'
    else visto end
)
where id_allarme = __; -- id here

答案 1 :(得分:0)

在SELECT查询中,您将使用WHERE子句查找具有特定id_allarme值的行。

UPDATE可以使用相同的WHERE子句:

UPDATE allarmi_ingressi
SET visto = 1 - visto
WHERE id_allarme = ?;