Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 单行上的SQLite查询集变量_Mysql_Sqlite_Row_Identity Column - Fatal编程技术网

Mysql 单行上的SQLite查询集变量

Mysql 单行上的SQLite查询集变量,mysql,sqlite,row,identity-column,Mysql,Sqlite,Row,Identity Column,我在SQLite中有一个名为“allarmi_Ingresi”的表,其中有很多行。 我想创建一个查询,将列“visto”上的变量更改为1(如果“visto=0”),并将其更改为0(如果“visto=1”)。 这是我做的: UPDATE allarmi_ingressi SET visto = '1' WHERE visto = '0' 当然,这会修改“visto”列中的每一行 我想知道是否可以通过主键“选择”来修改它,在我的例子中是“id_allarme”。使用 查询 update allar

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

UPDATE allarmi_ingressi SET visto = '1' WHERE visto = '0'
当然,这会修改“visto”列中的每一行

我想知道是否可以通过主键“选择”来修改它,在我的例子中是“id_allarme”。

使用

查询

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

在SELECT查询中,您将使用WHERE子句查找具有特定
id\u allarme
值的行

相同的WHERE子句可与UPDATE一起使用:

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

我猜是“单行”。谢谢你的回答,因为它可能有用,但我认为这会将所有列更改为我的旧查询,而不是我想要的单个列。