我的表包含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條刪除語句會怎麼樣?兩個 - 只是一個例子。 –
在代碼中,您可以爲要刪除的任何鍵準備一個包含查詢參數的刪除語句,然後將不同的值綁定到循環中的這些參數。 –