我想用一條命令來刪除多行:SQLITE3使用刪除多行「WHERE列IN(?)」
String[] args = {"1143997,1144373,1144375,1144383,1144385,1144389"};
int n;
n = db.delete("mytable", "recno IN (?)", args);
Log.d(TAG, "Deleted " + n + " rows");
但它不工作。也沒有
db.execSQL("DELETE FROM mytable WHERE recno IN (?)", args);
但如果我取得與adb pull
數據庫文件,在命令行中運行sqlite3的,並鍵入
DELETE FROM mytable WHERE recno in (1143997,1144373,1144375,1144383,1144385,1144389);
它工作得很好。任何想法我做錯了什麼?
好的,這比我指望的要複雜一些,因爲參數的數量可能會有所不同,這意味着我必須以編程方式構建我的「?,?,?...」字符串。讓我想一想...... –