【发布时间】:2014-03-13 01:43:47
【问题描述】:
大家好,我在创建表格方面需要一些帮助。我有下面的脚本,它创建了几个表。当我尝试运行脚本时,它给了我这个错误:
psql:script.sql:10: ERROR: syntax error at or near "Group"
LINE 6: CREATE TABLE Group(
谁能告诉我这是怎么回事?
CREATE TABLE Group(
name varchar(40) PRIMARY KEY NOT NULL
);
CREATE TABLE Artist(
name varchar(30) PRIMARY KEY NOT NULL,
birthplace varchar(20) NOT NULL,
age int NOT NULL CHECK (age > 0),
style varchar(20) NOT NULL
);
CREATE TABLE Artwork(
title varchar(40) PRIMARY KEY NOT NULL,
artist varchar(30) NOT NULL references Artist(name),
group_name varchar(40) NOT NULL references Group(name),
year int NOT NULL CHECK (year > 0),
type varchar(30) NOT NULL,
price money NOT NULL,
);
CREATE TABLE Customer(
cust_id int PRIMARY KEY NOT NULL,
name varchar(40) NOT NULL,
address varcahr(60) NOT NULL,
amount money NOT NULL CHECK(amount > 0),
like_artist varchar(30) NOT NULL references Artist(name),
like_group varchar(40) NOT NULL references Group(name)
);
【问题讨论】:
-
由于参照完整性约束 psql:script.sql:16: ERROR: 关系“艺术家”已经存在 psql:script.sql:25: ERROR: syntax error at或“组”附近 LINE 4: ...varchar(40) NOT NULL references group(name... ^ psql:script.sql:34: ERROR: syntax error at or near "group" LINE 7: ..._group varchar(40) NOT NULL 引用组(名称...
-
Group是SQL中的reserved keyword,需要引用为"Group"。 -
该死,它应该抛出
reserved keyword error而不是syntax error
标签: sql postgresql create-table