码迷,mamicode.com
首页 > 数据库 > 详细

postgresql修改自增序列

时间:2019-12-27 11:43:37      阅读:479      评论:0      收藏:0      [点我收藏+]

标签:实现   val   lte   table   exist   pre   postgre   alter   nextval   

在 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

postgresql修改自增序列

标签:实现   val   lte   table   exist   pre   postgre   alter   nextval   

原文地址:https://www.cnblogs.com/gaoyang666/p/12106125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!