如何删除一系列部分键的数据库行?

时间:2015-06-16 13:23:33

标签: c# sqlite

我有一个用3个主键定义的SQLite数据库表:Foo,Bar和Charlie。

我还有一个部分键列表 - 一对Foo,Bar。

我想删除数据库表中与部分键匹配的所有行。我理解并打算部分键可以匹配多行,并希望在这种情况下删除每个部分匹配。

如果我使用只是一个键的列表,我可以做一些事情:

"Delete from TABLENAME where FOO IN ('" + String.Join("','", fooList) + "')";

如果我使用部分密钥,我可以采取以下措施:

"Delete from TABLENAME where FOO = <foo_value> AND BAR = <bar_value>";

是否有某种方法可以将IN语法与多个部分键条目的列表结合起来?

1 个答案:

答案 0 :(得分:1)

我认为你不能将IN语法用于多列

 Delete from TABLENAME 
  where (FOO = <foo_value1> AND BAR = <bar_value1>)
     or (FOO = <foo_value2> AND BAR = <bar_value2>);