我只需要更新特定 sql 查詢命令的第一行我的代碼是:SQLiteDatabase db = this.getWritableDatabase();
String strSQL = "UPDATE table SET column = something WHERE name = john AND age = 10";
db.execSQL(strSQL);我有大約 5 個(gè)結(jié)果,其條件相同,名稱=約翰,年齡為 10這可以更新最后一項(xiàng),但我希望它僅更新 WHERE 子句的第一行結(jié)果。這怎么可能?
3 回答

呼如林
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
嘗試這個(gè):
String strSQL = "UPDATE table SET column = something WHERE id IN (SELECT id FROM table WHERE name = john AND age = 10 LIMIT 1)";

UYOU
TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
提供的id是PK,試試
UPDATE table
SET column = something
WHERE id = (SELECT min(t2.id)
FROM table t2
WHERE t2.name = 'john' AND t2.age = 10)

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
第一:(?在您的情況下)如果您只想更新第一行,則在表中再添加一個(gè)參數(shù)。它將幫助您找到唯一的記錄
第二:?不要使用這樣的更新查詢
????String?strSQL?=?"UPDATE?table?SET?column?=?something?WHERE??name?=?john?AND?age?=?10";
添加回答
舉報(bào)
0/150
提交
取消