我想執行下面的SQL語句:的Android SQLiteStatement和UPDATE SET ... WHERE IN(1,2,3)
UPDATE X SET y=10 WHERE z IN (1,2,3,4);
由於集可以包含任意數量的元素,我創建了以下SQL字符串語句:
UPDATE X SET y=? WHERE z IN (?);
接下來,我很好地預編譯它,並用SQLiteStatement
類bidning參數以下列方式:
statement.bindLong(1, myLong);
statement.bindString(2, "1,2,3,4");
statement.executeUpdateDelete();
我希望它天真地工作。沒門。如果只有一個值作爲第二個參數,
statement.bindString(2, "1");
它的工作。否則沒有機會。
是不是某種錯誤的?任何其他建議如何在優雅的方式做?當然,我可以直接將值放入String語句中:
UPDATE X SET y=? WHERE z IN (?);
但是然後預編譯是不可能的。 :(
是,使用'與輸入參數的聲明'沒有按」牛逼的工作非常好,'IN'關鍵字。 – waqaslam