Android SQLite自动增量
我目前有一个名为用户有一个ID列创build为
'INTEGER PRIMARY KEY'
比方说,我已经创build了两个用户,所以表中有ID 1和2
如果我删除第二个用户,并创build第三个ID是2,我需要这个3
所以看起来Android是select下一个可用的ID,我怎么能改变它更像一个序列号?
问候
使它INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
。 以下是文档所说的内容:
如果列的types为INTEGER PRIMARY KEY AUTOINCREMENT,那么…为新行select的ROWID至less比在同一个表中存在的最大ROWID大一个。
AUTOINCREMENT关键字实现的行为与默认行为有细微的差别。 使用AUTOINCREMENT,具有自动select的ROWID的行保证具有之前从未在同一个数据库中使用过的ROWID。 自动生成的ROWID保证单调递增。
SQLite AUTOINCREMENT
是用于自动递增表中字段值的关键字。 当创build具有特定列名称的表格时,我们可以使用AUTOINCREMENT
关键字自动递增字段值以自动递增。
关键字AUTOINCREMENT
只能与INTEGER字段一起使用。 句法:
AUTOINCREMENT
关键字的基本用法如下:
CREATE TABLE table_name( column1 INTEGER AUTOINCREMENT, column2 datatype, column3 datatype, ..... columnN datatype, );
例如见下文:考虑要创buildCOMPANY
表如下:
sqlite> CREATE TABLE TB_COMPANY_INFO( ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
现在,将以下logging插入表TB_COMPANY_INFO
:
INSERT INTO TB_COMPANY_INFO (NAME,AGE,ADDRESS,SALARY) VALUES ( 'MANOJ KUMAR', 40, 'Meerut,UP,INDIA', 200000.00 );
现在selectlogging
SELECT *FROM TB_COMPANY_INFO ID NAME AGE ADDRESS SALARY 1 Manoj Kumar 40 Meerut,UP,INDIA 200000.00