我有一个用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
语法与多个部分键条目的列表结合起来?
答案 0 :(得分:1)
我认为你不能将IN语法用于多列
Delete from TABLENAME
where (FOO = <foo_value1> AND BAR = <bar_value1>)
or (FOO = <foo_value2> AND BAR = <bar_value2>);