核心提示: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

方法: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很大程度上不满足数据的一致。