如何在sqlite中删除包含主键列表的行

如何在sqlite中删除包含主键列表的行,sqlite,delete-row,Sqlite,Delete Row,在SQL中: sqlite中的类似语法是什么?由于sqlite似乎不支持成对查询中的,因此您可以做的最直接和可读的查询可能是(为了可读性而添加括号) 一种可能性是使用关联查询: DELETE FROM table WHERE (pk1='1' AND pk2=2) OR (pk1='2' AND pk2=3) 如果用户必须删除数千行怎么办?@saimadan则需要添加更多对。与在或多个和或条件中使用相同。无论如何,他也许可以用BETWEEN/>/ DELETE FROM table WHERE

在SQL中:


sqlite
中的类似语法是什么?

由于sqlite似乎不支持成对查询中的
,因此您可以做的最直接和可读的查询可能是(为了可读性而添加括号)


一种可能性是使用关联查询:

DELETE FROM table WHERE (pk1='1' AND pk2=2) OR (pk1='2' AND pk2=3)

如果用户必须删除数千行怎么办?@saimadan则需要添加更多对。与在
或多个和或条件中使用相同。无论如何,他也许可以用
BETWEEN/>/
DELETE FROM table WHERE (pk1='1' AND pk2=2) OR (pk1='2' AND pk2=3)
WITH cte(p1, p2) AS(
  VALUES ('1',2)
  UNION ALL VALUES ('2', 3))         -- add more pairs if needed
DELETE FROM tab
WHERE EXISTS (SELECT 1 FROM cte WHERE pk1 = p1 AND pk2 = p2);