更改/更新 PostgreSQL 序列

Alter / Update PostgreSQL Sequence

如何更新序列中的 last_value 字段并将其加 1?

我试过的查询:ALTER SEQUENCE "seq_hours" SET 'last_value' = 'last_value' + 1

然而这并没有奏效。

setval() 与子查询一起使用以从 table 中获取值,例如

SELECT setval('seq_hours', (SELECT max(last_value)+1 FROM t));

编辑:只有当您想根据给定 table 的值设置序列的当前值时,此解决方案才有意义。如果你只想要序列的下一个可能值,你应该使用 nextval 作为 @a_horse_with_no_name 建议(见评论)