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);