我的表包含2个INTEGER主键列。我想删除几条记录,并指定它们。例如(1,1)和(1,2)。我试过了:SQLite使用指定的组合主键删除几条记录
DELETE FROM my_table WHERE(primarykey1,primarykey2) IN ((1,1),(1,2))
语法错误。
我的表包含2个INTEGER主键列。我想删除几条记录,并指定它们。例如(1,1)和(1,2)。我试过了:SQLite使用指定的组合主键删除几条记录
DELETE FROM my_table WHERE(primarykey1,primarykey2) IN ((1,1),(1,2))
语法错误。
DELETE FROM my_table WHERE primarykey1 = 1 AND primarykey2 IN (1,2)
由于3.15 SQLite的版本,可以使用下面的语法:
DELETE FROM my_table WHERE (p1, pk2) IN (VALUES(1,1),(1,2));
不适用于Qt 5.7.1。 :( –
哈哈:)我已经在你的答案中使用关键字Google搜索,我得到了一个:) –
(http://stackoverflow.com/questions/14691483/how-to-delete-several-values-in-sql) –
它可能更容易使用两个不同的DELETE语句。无论哪种方式,SQLite没有“元组”,所以'(primarykey1,primarykey2)'不是表达式。 –
如果有2000条删除语句会怎么样?两个 - 只是一个例子。 –
在代码中,您可以为要删除的任何键准备一个包含查询参数的删除语句,然后将不同的值绑定到循环中的这些参数。 –