gpt4 book ai didi

mysql - 不确定 mySQL 出了什么问题?

转载 作者:行者123 更新时间:2023-11-29 11:58:21 24 4
gpt4 key购买 nike

我才刚刚开始涉足 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));

我不太确定我做错了什么。如果有人可以提供帮助那就太好了,谢谢!

最佳答案

您有几个问题,主要是围绕外键引用的定义。试试这个:

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 Fiddle 是 here .

注释:

  • 您需要在 Winemaker 上定义一个主键(或至少是唯一键)才能有对其进行外键引用。
  • 引用表中列的数据类型需要与引用表中的数据类型完全匹配。
  • 您缺少逗号。
  • 您有额外的右括号和分号。
  • 此外,varchar( 之间允许有空格,但它们看起来很尴尬。

关于mysql - 不确定 mySQL 出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32808488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com