postgresql自动创建自增序列id

2024-05-09  本文已影响0人  King斌
CREATE SEQUENCE 表名_id_seq
AS BIGINT
START WITH 1
INCREMENT BY 1;
 

DO $$
DECLARE
    max_id BIGINT;
BEGIN
    SELECT MAX(字段名) + 1 INTO max_id FROM 表名;
    EXECUTE 'ALTER SEQUENCE 表名_id_seq RESTART WITH ' || max_id::text;
END $$;

 

ALTER TABLE 表名
ALTER COLUMN 字段名 SET DEFAULT nextval('表名_id_seq');


替换 表名主键字段名

采用的是 BIGINT 类型,也可以自己修改成 INTEGER

上一篇 下一篇

猜你喜欢

热点阅读