我想仅更新第一行。但我没有主键,任何顺序标识符。
ContentValues values = new ContentValues();
values.put(COLUMN_UNAME, c.getUname());
values.put(COLUMN_PASS, c.getPass());
db.update(TABLE_NAME,values,???,???);
如何在没有顺序int标识符的情况下仅更新SQlite中的第一行?
答案 0 :(得分:1)
如果表中只有一行,则可以使用null, null
作为最后两个参数,这将更新表中的所有行。
答案 1 :(得分:1)
实际上这很容易实现。每个SQLite表都有一个ROWID
除
WITHOUT ROWID
表外,SQLite表中的所有行都有一个64位有符号整数键,用于唯一标识其表中的行。这个整数通常称为" rowid"。 [...]
所以你可以用最小的rowid
String where = "rowid=(SELECT MIN(rowid) FROM " + TABLE_NAME + ")";
db.update(TABLE_NAME, values, where, null);