在SQL中更新多个列(使用不同的主键)(SQLite Android)

时间:2011-08-10 06:14:19

标签: java android sql sqlite

在表[id,credit,debit]中(所有值都是整数)

我有(id1,id2,id3 ....)和(idA,idB,idC ...)。

我想将所有信用值设为0(对于id(id1,id2,id3 ....),并将所有借记值设为0(对于id(idA,idB,idC ...)。这可能在一个查询中,还是我必须连续两次更新查询?

2 个答案:

答案 0 :(得分:1)

您可能需要两个查询,因为在一个查询中只有一个where子句可以存在。不止一个。由于您有两个条件,您可能需要2个查询。

答案 1 :(得分:1)

可能会执行以下操作:

UPDATE table
    SET credit = 
        CASE id IN (id1,id2,id3) 
            THEN 0
        END, 
    debit = 
        CASE id IN (idA,idB,idC)
            THEN 0
        END

虽然我认为2个查询更容易编写且更容易理解