pst*_*ton 12 sql postgresql sequence
我有一个脚本将表数据从一个DB复制到另一个DB,但ID列由序列支持,因此当新记录插入目标表时,nextval(seq)
返回错误的值.
我需要更新序列,以便从下一个可用ID开始.
我想做的事情如下:
ALTER SEQUENCE seq_id RESTART WITH
(SELECT MAX(id) FROM tbl);
Run Code Online (Sandbox Code Playgroud)
但是上面会产生语法错误.
任何人都可以提出替代方法吗?
DO $$
SELECT INTO m MAX(id) FROM tbl;
EXECUTE 'ALTER SEQUENCE seq_id RESTART WITH ' || m;
END$$;
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,看到这个问题:
归档时间: |
|
查看次数: |
8142 次 |
最近记录: |