SQLITE 自增列

在SQLite中,每个Table隐含包含64bit的自增字段,该字段有SQLite维护,可以通过列名ROWID, _ROWID_, 或者OID可以访问,当该Table中存在整形主键时,该自增字段由该主键替换,该主键也是该自增字段的别名。
例如:创建表testtb,其中主键xxxid为整形。
CREATE TABLE testtb(   
    xxxid INTEGER PRIMARY KEY,
    testcol TEXT,
    ……);
使用SELECT ROWID FROM testtb返回的数据与SELECT xxxid FROM testtb相同,即ROWID(_ROWID_, 或者OID)与整形主键xxxid所指为同一列。

如果表中未插入条目,则新插入的条目中ROWID从1开始,自增字段达到ROWID最大值时,便不能插入新的条目,且任何尝试插入的操作都会以SQLITE_FULL错误失败。

注意:
SQLite中,非主键整形字段不能通过设置AUTOINCREMENT关键字变成自增字段。
参考链接:http://www.sqlite.org/autoinc.html

猜你喜欢

转载自buxin-2008.iteye.com/blog/2022741