Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中从特定SQlite表中删除多条记录_Android_Sqlite - Fatal编程技术网

如何在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'
?这里可以使用
中的