我正在尝试将我的序列设置为使用当前表max Id加1作为其下一个值但是以下命令失败
ALTER SEQUENCE newtable_id_sec START WITH ((select max(id) from newtable) +1);
答案 0 :(得分:2)
DDL语句不能使用子查询,但您可以使用setval()
:
select setval('newtable_id_sec', ((select max(id) from newtable));
+1
不需要setval()
,因为setval()
假定传递的值是最后一次“使用”的值,因此它将自动继续使用下一个值。