我正在尝试更新备忘录表中的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 + ");");
答案 0 :(得分:2)
AUTOINCREMENT
不起作用,因为我猜您正在期待。
如果列的类型为INTEGER PRIMARY KEY AUTOINCREMENT
,则会使用稍微不同的ROWID
选择算法。为新行选择的ROWID
至少比同一个表中之前存在的最大ROWID 大一个。