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

请教各位大牛一个关于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|username
1|a1
2|a2
3|a3
4|a4
5|a5
6|a6
7|a7
8|a8
9|a9
10|a10
sqlite> delete from zjf30366 where id=5;
sqlite> select * from zjf30366;
id|username
1|a1
2|a2
3|a3
4|a4
6|a6
7|a7
8|a8
9|a9
10|a10
sqlite> 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|username
1|a1
2|a2
3|a3
4|a4
5|a11
6|a6
7|a7
8|a8
9|a9
10|a10
sqlite> insert into zjf30366 values(
   ...>         (select min(id)-1 from zjf30366 where id>1 and id-1 not in (sele
ct id from zjf30366)),
   ...>         'a11');
sqlite> select * from zjf30366;
id|username
1|a1
2|a2
3|a3
4|a4
5|a11
6|a6
7|a7
8|a8
9|a9
10|a10
11|a11
sqlite>