【发布时间】:2021-07-03 12:26:18
【问题描述】:
我的项目中有一个现有的 django 模型,它已经在生产数据库 (PostgreSQL) 中并且有记录。
而我基本上想要的是将新创建的对象的id (autoincrement pk) 设置为至少有 5 位数字并从 5 开始。
因此,例如,如果我在数据库中有最后一条记录,id 为 1924,我希望我的下一个对象有 id
51925(最后一个 ID + 1 + 50000)。
所以它会是这样的:
older objects
...
1921
1922
1923
1924 # last in production
51925 # next object to be created must autoincrement from 50001 + previous id
51926
51927
.... and so on
有可能吗?最好的方法是什么? 谢谢
【问题讨论】:
-
使用
ALTER SEQUENCE ... RESTART WITH <yournumber>;。您需要自己查询上一个最大 ID,没有语法可以说“从表达式“从表中选择 max(id)+50000”的结果开始这个序列。 -
@AdamKG 谢谢,所以以前的记录还会有现有的 id 吗?只有新的会从我指定的数字开始?
-
是的,没错。
标签: sql django postgresql