我发现 SQLite3 的自动增量总是比现有的最高主键多一。
例如,我创建了一条记录,它的 id 设置为 1。然后下一条记录的 id 设置为 2。如果我删除 id = 2 的记录并创建一条新记录,则新记录的 id 设置为 2,而不是3.
无论如何,他们是否让 sqlite3 的自动增量永远不会分配相同的值两次?
我发现 SQLite3 的自动增量总是比现有的最高主键多一。
例如,我创建了一条记录,它的 id 设置为 1。然后下一条记录的 id 设置为 2。如果我删除 id = 2 的记录并创建一条新记录,则新记录的 id 设置为 2,而不是3.
无论如何,他们是否让 sqlite3 的自动增量永远不会分配相同的值两次?
http://www.sqlite.org/autoinc.html上的文档清楚地表明您看到的行为是预期的。文档还指出,您可以通过创建列来避免此问题:
INTEGER PRIMARY KEY AUTOINCREMENT