2016-03-08 90 views
0

我在SQLite中有一个名为“allarmi_ingressi”的表,其中有很多行。 我想创建一个查询,如果“visto = 0”,将列“visto”上的变量更改为1,如果“visto = 1”则更改为0。 这是我编:单行SQLite查询SET变量

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

当然这个修改每一行中列“Visto公司”;

我想知道是否有可能修改它的主键“选择”,在我的情况下“id_allarme”。

回答

0

在SELECT查询,你可以使用WHERE子句来找到特定id_allarme值的行。

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

UPDATE allarmi_ingressi 
SET visto = 1 - visto 
WHERE id_allarme = ?; 
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 
+0

这里有什么错? – Wanderer

+0

我猜“单排”。 –

+0

感谢您的答案,因为它可能是有用的,但我认为这将更改所有列作为我的旧查询,而不是一个,因为我想要的。 – MisAndreStood