您现在的位置:首页 >> 前端 >> 内容

sqllite自增id和rowid的区别介绍

时间:2018/3/21 13:35:32 点击:

  核心提示:1,定义自增idid integer primary key autoincrement2,一个新的表自增id和rowid都是从1开始向上增加3,before: id=10; rowid=10;del...

1,定义自增id

id integer primary key autoincrement

2,一个新的表自增id和rowid都是从1开始向上增加

3,before: id=10; rowid=10;

delete from table;

insert into table (xxx) values (xxx);

after: id=11,rowid=1;

也就是说在清空表后rowid会重新从1开始而自增id不会

4,使自增id重新从1开始

sqllite 有个表sqlite_sequence维护自增id的最大值,

select * fromsqlite_sequence

sqllite自增id和rowid的区别介绍

方法:delete from table

updatesqlite_sequence set seq=1 where name=tablename

所有自增id从1开始

delete from sqlite_sequence (前提是table清空了,

不然sqlite_sequence会接上上次最多id开始增加)

5,rowid增长到最大值是不会报错而是从1开始再找个没使用的位置赋值

id则会报错 (网上说的,无心验证)

6 使用rowid很大程度上不满足数据的一致。

Tags:SQ QL LL LI 
作者:网络 来源:李玉峰的博客