更改序列起始编号

时间:2018-02-05 14:02:04

标签: postgresql

我正在尝试将我的序列设置为使用当前表max Id加1作为其下一个值但是以下命令失败

ALTER SEQUENCE newtable_id_sec START WITH ((select max(id) from newtable) +1);

1 个答案:

答案 0 :(得分:2)

DDL语句不能使用子查询,但您可以使用setval()

select setval('newtable_id_sec', ((select max(id) from newtable));

+1不需要setval(),因为setval()假定传递的值是最后一次“使用”的值,因此它将自动继续使用下一个值。