Code Bye

SQLite数据库的id字段,怎么设置成从1开始自增

用的是SQLite Expert professional 个人版,现在已经实现了自增,但是对第一个值赋值的时候,怎么能设置成从1开始呢?
解决方案

20

sqlite3默认就是1的吧。
新建了含PRIMARY KEY AUTOINCREMENT 主键自增表(如 test1)后,会自动产生一个sqlite_sequence表,其中保存了相关主键的最大值,当然新建表时是没有记录的。
然后向test1插入数据时,会更新sqlite_sequence表,可以看到默认主键是从1开始的。
如新建表
Create  test1(
[id] integer PRIMARY KEY AUTOINCREMENT
,[name]   
);

自动生成表sqlite_sequence
查询sqlite_sequence

select * from sqlite_sequence;

此时无记录
name        seq
向test1表插入行

insert into test1 values(null,"nihao1");--注意,第一次插入一定要插入主键值,可以为null,之后的插入操作可以不插入主键值,           也可以插入null

然后看到了test1表中有了记录
id       name
1        nihao1
可以看出来默认自增id是从1开始
此时检索表 from sqlite_sequence,可以看到有了记录
name        seq
test1           1
sqlite_sequence是可以修改的,支持Update、Delete和Insert操作,但不建议这么使用,这会让引擎混乱。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明SQLite数据库的id字段,怎么设置成从1开始自增