说我需要跟踪学生的情况。根据自动增量为它们分配s.no.第一人获得第二人获得2,等等。但是如果一个学生想要一个自定义的s.no(比如说32)我需要给他32个,当下一个人来的时候我需要给他3和下一个人4等等。我会在分配自定义序列号之前检查数据库,以确保它们不存在。我使用的是sqlite3。我有一个包含1列的db表(自动增量pk)
数据库: -
S.no
1
2
3
现在我插入一个自定义值" 32"
custom = 32
con.execute("INSERT INTO table (id) values (?)", (custom)
数据库:
S.no
1
2
3
32
现在,当我使用自动增量来增加值时,数据库变为:
S.no
1
2
3
32
33
34
我想要的是:
S.no
1
2
3
32
4
5
答案 0 :(得分:1)
这不是SQLite's autoincrement algorithm的工作方式。
要获得小于实际使用的最大ID的自动增量ID,您必须自己实现该算法(即,将当前计数器值存储在其他位置)。