pgsql 执行建库脚本时候出现ERROR: relation "xxx_id_seq" does not exist

  1. 问题:
CREATE TABLE t_sms_reminder_log
(
  id integer NOT NULL DEFAULT nextval('t_sms_reminder_log_id_seq'::regclass),
  type character varying(255),
,
  CONSTRAINT t_sms_reminder_log_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE t_sms_reminder_log
  OWNER TO terra;

ERROR: relation “xxx_id_seq” does not exist

  1. 出现原因:由于表中建立了自增字段,id定义为Serial 类型,当执行完成建表语句后,其字段便成

int4 NOT NULL DEFAULT nextval(’“xxx”.xxx_id_seq’::regclass)

由于xxx_id_seq该序列只能在创建表的时候才能生成所以,会出现错误。

  1. 解决办法

将该字段改为serial类型即可

CREATE TABLE t_sms_reminder_log
(
  id serial NOT NULL,
  type character varying(255),

  CONSTRAINT t_sms_reminder_log_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE t_sms_reminder_log
  OWNER TO terra;

你可能感兴趣的:(PostSQL)