【发布时间】:2021-08-12 17:26:24
【问题描述】:
尝试在 PGadmin 中生成表时,我收到以下错误:
ERROR: syntax error at or near ","
LINE 3: "ID" integer NOT NULL DEFAULT,
^
为什么不喜欢逗号?这是PGadmin生成的sql,奇怪它不喜欢自己的sql。
CREATE TABLE public.email_list
(
"ID" integer NOT NULL DEFAULT,
"FIRST NAME" "char",
"LAST NAME" "char",
"EMAIL" "char",
"TITLE" "char",
"LOCATION" "char",
"COMPANY WEBSITE" "char",
"COMPANY TYPE" numeric,
"DATE ADDED" timestamp with time zone,
"LAST CONTACT DATE" date,
"STATUS CODE" "char",
CONSTRAINT "ID" PRIMARY KEY ("ID")
)
TABLESPACE pg_default;
ALTER TABLE public.email_lists
OWNER to postgres;
【问题讨论】:
-
您没有提供
DEFAULT值。仅供参考,您不需要引用类型名称,所以char而不是“char”。此外,您最好使用varchar而不是char,如果没有其他原因,那么没有长度的char将默认长度为1。 -
与您的问题无关,但是:您应该真正避免使用那些可怕的带引号的标识符。他们的麻烦比他们值得的要多得多。 wiki.postgresql.org/wiki/…
-
@a_horse_with_no_name,其实我也错过了这个。 OP 使用的是
"char",它是一种内部类型,比char更受限制。
标签: sql postgresql ddl