在删除某些行后,Web2py中是否有一种方法可以重置表的id。 假设我有15条记录,我删除了最后5条,如果我插入一条新记录,它将以id 16开头,我更喜欢从11开始。
答案 0 :(得分:0)
web2py DAL id
字段是 autoincrement 整数字段,其中自动增量行为由数据库引擎处理。除非你真的需要保持连续的id
值没有间隙,否则你可能不应该为此烦恼。 (如果您需要删除旧记录而不是最近插入的记录会怎么样?您将如何避免竞争条件?)
如果必须重置自动增量序列,则需要查阅所用数据库的相关文档。例如,如果您使用的是SQLite,则会更新特定sqlite_sequence
表的相关记录,如记录here(请参阅example code)。更新序列时,请务必阻止对表格进行任何其他写入操作 - 否则可能会在更改之前插入一条带有较大id
的新记录。