[英]How to update only first row in SQlite without a sequential int identifier?
我只想更新第一行。 但是我沒有主鍵,沒有任何順序標識符。
ContentValues values = new ContentValues();
values.put(COLUMN_UNAME, c.getUname());
values.put(COLUMN_PASS, c.getPass());
db.update(TABLE_NAME,values,???,???);
如何在沒有順序int標識符的情況下僅更新SQlite中的第一行?
如果表中只有一行,則可以使用null, null
作為最后兩個參數,這將更新表中的所有行。
這樣做很容易。 每個SQLite表都有一個ROWID
除
WITHOUT ROWID
表外,SQLite表中的所有行均具有一個64位帶符號整數鍵,該鍵唯一地標識其表中的行。 該整數通常稱為“ rowid”。 [...]
所以你可以用最小的rowid
更新行
String where = "rowid=(SELECT MIN(rowid) FROM " + TABLE_NAME + ")";
db.update(TABLE_NAME, values, where, null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.