更新许多记录的列

时间:2016-08-09 08:33:25

标签: sqlite sql-update

我有一个表MYTABLE,其中列productversionvalid(布尔值)。

让我们说一些记录如下:

之前

product1 - 1 - 0
product1 - 2 - 0 
product1 - 3 - 1

我想要的是选择带有product1和版本2的第二条记录,并将其有效列更新为1,然后将具有相同产品和版本的所有其他记录更新为有效值为0.所以在表格之后如:

product1 - 1 - 0
product1 - 2 - 1 
product1 - 3 - 0

我试过

UPDATE MYTABLE
SET valid = EXISTS(
                    SELECT * FROM MYTABLE AS T2
                    WHERE T2.product = 'product1' AND T2.version=2)

并将所有记录有效列更改为0 ...

1 个答案:

答案 0 :(得分:1)

您可以尝试执行2更新

UPDATE LABELS
SET valid = 1 where product='product1' AND version=2;

UPDATE LABELS
SET valid = 0 where product='product1' AND version!=2;