我想使用SQLite及其自动增量列。但我想知道如果值达到其最大值会发生什么(2,147,483,647是'long'类型的最大值) 有人知道吗?
答案 0 :(得分:1)
documentation中记录了这一点。
没有AUTOINCREMENT:
如果最大的ROWID等于最大可能的整数(9223372036854775807),则数据库引擎开始随机选择正候选ROWID,直到找到之前未使用过的ROWID。如果在合理的尝试次数后找不到未使用的ROWID,则插入操作将失败,并显示SQLITE_FULL错误。
使用AUTOINCREMENT:
如果该表先前保留了具有最大可能ROWID的行,则不允许新的INSERT,并且任何插入新行的尝试都将失败,并出现SQLITE_FULL错误。