请教一个关于SQLite3的问题。
我创建了一个表,
CREATE TABLE table(
id INTEGER PRIMARY KEY,
username VARCHAR(100)
);"
这样的话当插入id为NULL时,会实现自动加一,
这里就有问题了,若我插入了10条数据,id从1到10,
这时我删除了其中的id = 5的一行数据,然后我在继续插入数据的时候,
需要先填充这个id = 5 一行数据,然后在插入数据时会从id=11开始插入。
也就是说,我每次插入数据的时候,需要从最小的序号开始插入。
这个sql语句要怎么写呢?
望各位大牛帮忙解决,在此先谢谢了。
------解决方案--------------------------------------------------------
- SQL code
sqlite> CREATE TABLE zjf30366( ...> id INTEGER PRIMARY KEY, ...> username VARCHAR(100) ...> );sqlite>sqlite> select * from zjf30366;id|username1|a12|a23|a34|a45|a56|a67|a78|a89|a910|a10sqlite> delete from zjf30366 where id=5;sqlite> select * from zjf30366;id|username1|a12|a23|a34|a46|a67|a78|a89|a910|a10sqlite> insert into zjf30366 values( ...> (select min(id)-1 from zjf30366 where id>1 and id-1 not in (select id from zjf30366)), ...> 'a11');sqlite> select * from zjf30366;id|username1|a12|a23|a34|a45|a116|a67|a78|a89|a910|a10sqlite> insert into zjf30366 values( ...> (select min(id)-1 from zjf30366 where id>1 and id-1 not in (select id from zjf30366)), ...> 'a11');sqlite> select * from zjf30366;id|username1|a12|a23|a34|a45|a116|a67|a78|a89|a910|a1011|a11sqlite>