Sqlite Autoincrement

时间:2016-11-17 19:51:23

标签: android sqlite

我正在尝试更新备忘录表中的id列。因此,如果删除id为3的备忘录,则下面的行现在变为3的id。

sqLiteDatabase.execSQL("CREATE TABLE " + TABLE_NAME + "(" +
            "ID INTEGER PRIMARY KEY AUTOINCREMENT, MEMO TEXT, URGENCY TEXT)");

创建表格,工作得很好,但我得到了一个sqlite错误"接近自动增量"。

 db.execSQL("ALTER TABLE " + TABLE_NAME + " AUTOINCREMENT = 
                      (SELECT MAX(ID) FROM " + TABLE_NAME + ");");

1 个答案:

答案 0 :(得分:2)

AUTOINCREMENT不起作用,因为我猜您正在期待。

如果列的类型为INTEGER PRIMARY KEY AUTOINCREMENT,则会使用稍微不同的ROWID选择算法。为新行选择的ROWID至少比同一个表中之前存在的最大ROWID 大一个。