postgresql自增主键

postgresql自增主键这样设置
“id” int2 NOT NULL DEFAULT nextval(‘process_map_id_seq’::regclass)

1.postgresql序列,mysql对比

在mysql 中创建自增主键:
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘Task ID’,
postgresql中也有自增主键,但不是这样创建。

2. postgresql序列,创建

序列相当于mysql的自增主键,一个序列用于一张表。

-- 先创建序列,再使用序列
CREATE SEQUENCE process_map_id_seq START 10;
-- 建表sql,使用序列
"id" int2 NOT NULL DEFAULT nextval('process_map_id_seq'::regclass),

3. postgresql序列,删除

-- 删除表时,需要删除序列
--  drop table process_map;
drop SEQUENCE process_map_id_seq CASCADE;

4. postgresql序列,主键冲突

创建序列后,不允许手动再数据库创建数据,不然,之后的新增接口会报错,主键冲突,
如何解决,执行下面的sql

-- 序列id加一 SEQUENCE
SELECT setval('process_map_id_seq ', (SELECT MAX(id) FROM process_map)+1);

猜你喜欢

转载自blog.csdn.net/leinminna/article/details/108822208