如何在android中从特定SQlite表中删除多条记录
我创建了一个如下表:如何在android中从特定SQlite表中删除多条记录,android,sqlite,Android,Sqlite,我创建了一个如下表: ID Name Phone Address ----------------------------- 1 xyz 980 abc 2 sdf 382 sdff 3 hdj 322 abc 4 jks 346 abc 5 sdfd 344 abc 我想删除所有有Address=“abc”和Phone={“980
ID Name Phone Address
-----------------------------
1 xyz 980 abc
2 sdf 382 sdff
3 hdj 322 abc
4 jks 346 abc
5 sdfd 344 abc
我想删除所有有Address=“abc”
和Phone={“980”、“346”、“322”}
如何在Android SQLite中实现上述查询?是否足够
db.rawQuery("DELETE FROM my_table WHERE column_address='abc'
AND column_phone IN ('980', '346', '322')");
如果您想通过delete方法执行此操作,那么我假设您可以通过以下方式执行此操作:
for(String phone : phoneNumbers){
db.delete("my_table", "column_address = ? AND column_phone = ?",
new String[]{"abc", phone});
}
够了吗
db.rawQuery("DELETE FROM my_table WHERE column_address='abc'
AND column_phone IN ('980', '346', '322')");
如果您想通过delete方法执行此操作,那么我假设您可以通过以下方式执行此操作:
for(String phone : phoneNumbers){
db.delete("my_table", "column_address = ? AND column_phone = ?",
new String[]{"abc", phone});
}
这对你有帮助
delete from Table where Address = 'abc' and (Phone = '980' or Phone = '980' or Phone = '322')
这对你有帮助
delete from Table where Address = 'abc' and (Phone = '980' or Phone = '980' or Phone = '322')
你好,瓦卡斯,谢谢你的回复。我是说对的那个。我正在尝试第二个没有for循环的。列_phone值总是不同的,而且数字也更大(不仅仅是我提到的3个值)。我不知道如果不使用for循环,是否可以实现这一点。但在这种情况下,您需要删除大量记录,我建议您使用for循环和sqlite事务来实现这一点。这将是足够快,不会注意到任何相当大的延误。每当您需要同时插入、更新或删除大量记录时,请始终使用事务。查询应该是
DELETE FROM my_table,其中列_address='abc'和列_phonein('980','346','322')
。删除*不起作用。你好,Waqas,谢谢你的回复。我是说对的那个。我正在尝试第二个没有for循环的。列_phone值总是不同的,而且数字也更大(不仅仅是我提到的3个值)。我不知道如果不使用for循环,是否可以实现这一点。但在这种情况下,您需要删除大量记录,我建议您使用for循环和sqlite事务来实现这一点。这将是足够快,不会注意到任何相当大的延误。每当您需要同时插入、更新或删除大量记录时,请始终使用事务。查询应该是DELETE FROM my_table,其中列_address='abc'和列_phonein('980','346','322')
。删除*无效。Phone='980'或Phone='980'
?和中的可以在此处使用操作员。电话='980'或电话='980'
?这里可以使用
中的。