此代码部分
CREATE TABLE AIRPORT (
Airport_Code int NOT NULL,
City varchar(20) NOT NULL,
State varchar(20) NOT NULL,
Name varchar(25) NOT NULL,
CONSTRAINT PK_AIRPORT PRIMARY KEY (Airport_Code)
)
几乎与此相同,但这个给我一个错误,我无法弄清楚如何解决它
CREATE TABLE AIRPLANE_TYPE (
Company varchar(20) NOT NULL,
Typename varchar(20) NOT NULL,
Max_seats int NOT NULL,
CONSTRAINT PK_AIRPLANE_TYPE (Typename) //error is here (Typename)
)
我收到'('。
附近的错误语法错误答案 0 :(得分:4)
添加与列内联的主键将为您的主键提供废话自动生成的名称。我也不明白“鼓励主键在一列上”是一个额外的好处。
CREATE TABLE AIRPLANE_TYPE (
Company varchar(20) NOT NULL,
Typename varchar(20) NOT NULL,
Max_seats int NOT NULL,
CONSTRAINT PK_AIRPLANE_TYPE PRIMARY KEY (Typename)
)
答案 1 :(得分:2)
您错过了PRIMARY KEY
。我倾向于将它直接放在列定义中:
CREATE TABLE AIRPLANE_TYPE (
Company varchar(20) NOT NULL,
Typename varchar(20) NOT NULL PRIMARY KEY,
Max_seats int NOT NULL
);
除了更短的定义外,这还鼓励所有主键只有一列 - 这是一个额外的好处。