这是我的sql数据。在postgresql中执行此查询时会出现一些错误。
请帮我改正一下。我对这个数据库没有经验。
-- ----------------------------
-- Sequence structure for tuning_id_seq
-- ----------------------------
DROP SEQUENCE IF EXISTS "mainpage"."tuning_id_seq";
CREATE SEQUENCE "mainpage"."tuning_id_seq" INCREMENT 1 START 4000 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1;
ALTER TABLE "mainpage"."tuning_id_seq" OWNER TO "postgres";
-- ----------------------------
-- Table structure for tuning
-- ----------------------------
DROP TABLE IF EXISTS "mainpage"."tuning";
CREATE TABLE "mainpage"."tuning" (
"id" int4 NOT NULL DEFAULT nextval("tuning_id_seq"::regclass),
"motor_id" int4,
"speed" int4,
"freetext" varchar(200) COLLATE "default",
"date_create" varchar(30) COLLATE "default",
"date_change" varchar(30) COLLATE "default"
)
WITH (OIDS=FALSE);
ALTER TABLE "mainpage"."tuning" OWNER TO "postgres";
-- ----------------------------
-- Records of tuning
-- ----------------------------
BEGIN;
INSERT INTO "mainpage"."tuning" VALUES ('1', '1', '0', null, null, null);
INSERT INTO "mainpage"."tuning" VALUES ('2', '2', '0', null, null, null);
INSERT INTO "mainpage"."tuning" VALUES ('3', '3', '0', null, null, null);
COMMIT;误差
NOTICE: table "tuning" does not exist, skipping
ERROR: column "tuning_id_seq" does not exist
********** Error **********
ERROR: column "tuning_id_seq" does not exist
SQL state: 42703发布于 2016-03-09 06:47:14
我认为问题是,您需要schema-qualify您的序列名称。
例如:
CREATE TABLE "mainpage"."tuning" (
"id" int4 NOT NULL DEFAULT nextval("mainpage"."tuning_id_seq"::regclass),
"motor_id" int4,
"speed" int4,
"freetext" varchar(200) COLLATE "default",
"date_create" varchar(30) COLLATE "default",
"date_change" varchar(30) COLLATE "default"
)
WITH (OIDS=FALSE);
ALTER TABLE "mainpage"."tuning" OWNER TO "postgres";在没有限定条件的情况下,Postgres将在public (例如,不合格)模式中查找序列。(因为理论上,在每个模式中都可以有一个同名序列)。
https://stackoverflow.com/questions/35883979
复制相似问题