postgresql修改自增序列

时间:2022-06-11 04:14:04

在 mysql 中,实现 id 自增的方式是依靠加一个 auto_increment 标志,而在 pgsql 中,id 自增是通过序列 SEQUENCE。

创建表时设置自增序列为:

CREATE TABLE "config" (
    "id" int4 NOT NULL DEFAULT nextval(config_id_seq::regclass),
    ...
};

 

修改创建表之后的序列,如:

----删除前先解除 id 对该序列的依赖
ALTER TABLE tablename ALTER COLUMN id SET DEFAULT null;
DROP SEQUENCE IF EXISTS sequence_name;
---- id_max 即 id 目前的最大值,可写为1,可通过 “SELECT MAX(id) FROM tablename” 得到
CREATE SEQUENCE sequence_name START WITH id_max;
ALTER TABLE tablename ALTER COLUMN id SET DEFAULT nextval(sequence_name::regclass);
————————————————
原文链接:https://blog.csdn.net/quanqxj/article/details/77505247