PostgreSQL主键自增长
最近在使用Golang开发数据库操作过程中,涉及到PostgreSQL的主键自增长,一般在MySQL中可以使用AUTO_INCREMENT
字段来实现主键自增长,语句如下:
CREATE TABLE IF NOT EXISTS `table_name`(
`id` INT UNSIGNED AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`author` VARCHAR(40) NOT NULL,
`sub_date` DATE,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
但在PostgreSQL中无法使用AUTO_INCREMENT
,经过查询得知PostgreSQL需要使用序列
来标识字段的自增长,语句如下:
#先创建序列
CREATE SEQUENCE upms_id_seq START 1;
#主键赋默认值
CREATE TABLE "table_name" (
"id" int4 NOT NULL DEFAULT nextval('upms_id_seq'),
"title" varchar(100) NOT NULL,
"author" varchar(40) NOT NULL,
"sub_date" timestamptz,
PRIMARY KEY ("id")
);