postgresql - 当我尝试在 PostgreSQL 中继承表时,如何解决错误?
问题描述
我尝试在 PostgreSQL 中继承一个表。但是,我收到一个我无法解决的错误。我想继承表“Ronde”作为表“Spel”的子级。
错误信息是:
ERROR: syntax error at or near "%"
LINE 2: INHERIT public.%22Spel%22;
^
之后,我尝试使用以下描述解决问题:
https://www.postgresql.org/docs/10/tutorial-inheritance.html
所以我尝试使用 sql 解决问题,但我得到了同样的错误。
现在“Spel”的sql是这样的:
CREATE TABLE public."Spel" (
"Id" integer NOT NULL DEFAULT nextval('"Spel_Id_seq"'::regclass),
"AantalSpelers" integer,
"Speler1Id" integer,
"Speler2Id" integer,
"Taal" text COLLATE pg_catalog."default",
"AantalLetters" integer,
CONSTRAINT "Spel_pkey" PRIMARY KEY ("Id")
)
TABLESPACE pg_default;
ALTER TABLE public."Spel"
OWNER to postgres;
CREATE TABLE public."Ronde" (
"Id" serial,
"Rondenummer" integer,
"Woord" text,
) INHERITS (public."Spel");
错误信息
ERROR: syntax error at or near ")" LINE 21: ) INHERITS (public."Spel"); ^ SQL state: 42601 Character: 462
解决方案
第一个错误可能是 PgAdmin4 中的错误。引号以 URI 转义形式传输。或者也许它不是一个错误,而你以某种方式误用了它。
CREATE TABLE
第二个错误是因为在语句中最后一列的定义后面有一个逗号。SQL 不是 Perl 或 Python,您不能只添加无关的尾随逗号并忽略它们。
推荐阅读
- json - 拆分后连接字符串行的某些字段
- python - 随机点击按钮
- html - 禁用 Material-UI Stepper 组件的折叠操作
- azure - 对多个 VM 使用虚拟机扩展
- sql-server - 测试 Active Directory 帐户的 SQL Server 连接
- linux - 如何设置 HAProxy 以在匹配的查询字符串键值上断开连接?
- spring - 类中的 MongoTemplate 空指针异常
- php - Ajax 请求但没有从 PHP 脚本中得到答案
- android - Firebase 列表适配器:错误“空对象引用”
- vba - 允许 VBA 时限制 Word 文档