簡體   English   中英

如何在沒有順序int標識符的情況下僅更新SQlite中的第一行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM