当前位置: 代码迷 >> 其他数据库 >> 大牛一个关于SQLite3的设计有关问题
  详细解决方案

大牛一个关于SQLite3的设计有关问题

热度:1830   发布时间:2013-02-26 00:00:00.0
请教各位大牛一个关于SQLite3的设计问题
请教一个关于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>