提问人: 提问时间:6/13/2022 更新时间:6/13/2022 访问量:286
在 PostgreSql 中从最后一个值 +1 开始重新创建序列
Recreating sequence starting from last value +1 in PostgreSql
问:
在我的 Java 项目中,我有一个序列,在 Spring Data JPA 中更新了一些继承后,现在我需要从最后一个值 + 1 开始删除并重新创建此序列。例如,如果最后一个值是 100,那么删除它后,我新创建的将从 101 开始。room_id_seq
room_id_seq
room_id_seq
那么,我该如何编写sql来实现这一点呢?我应该为新序列使用新名称,并且在使用上一个值创建它后,我是否应该删除前一个值?
答:
0赞
user330315
6/13/2022
#1
无需删除序列,只需使用setval()
select setval('room_id_seq', 101);
评论
0赞
6/13/2022
是的,但我现在不知道下一个值。因为它会根据代码在管道上传递的时间而改变。在这个场景中,我需要通过从 db 查询来获取当前值。
0赞
6/13/2022
@Jonathan:然后替换为返回“当前值”的查询,或将其作为参数传递。101
评论