我只是刚刚开始在SQL领域开始尝试弄清楚我的一个表格出错了。我跟着
CREATE TABLE Winemaker (
Winemaker_id varchar (20) NOT NULL,
Winemaker_name varchar (20) NOT NULL,
key (Winemaker_Id));
CREATE TABLE Wine (
Wine_Id varchar (20) NOT NULL,
Wine_name varchar (20) NOT NULL,
Winemaker_Id varchar (4) NOT NULL,
Wine_vintage varchar (8) NOT NULL,
Wine_price varchar (8) NOT NULL
Primary key (Wine_Id)
Foreign key (Winemaker_Id) REFERENCES Winemaker(Id));
我不太确定我做错了什么。如果有人能提供帮助那就太棒了,谢谢!
答案 0 :(得分:1)
您有几个问题,主要围绕外键引用的定义。试试这个:
CREATE TABLE Winemaker (
Winemaker_id varchar(20) NOT NULL,
Winemaker_name varchar(20) NOT NULL,
primary key (Winemaker_Id)
);
CREATE TABLE Wine (
Wine_Id varchar(20) NOT NULL,
Wine_name varchar(20) NOT NULL,
Winemaker_Id varchar(20) NOT NULL,
Wine_vintage varchar(8) NOT NULL,
Wine_price varchar (8) NOT NULL,
Primary key (Wine_Id),
Foreign key (Winemaker_Id) REFERENCES Winemaker(Winemaker_id)
);
SQL小提琴是here。
注意:
Winemaker
上定义主键(或至少是唯一键)以获得外键引用。varchar
和(
之间的空格,但它们看起来很尴尬。