ERROR 1068 (42000): 多个主键定义

ERROR 1068 (42000): Multiple primary key define

我想使用 mySql.

创建以下 SQL table

CYCLIST (CID, Name, Surname, Nationality, TID, BirthYear)

团队 (TID, NameT, YearFoundation, OfficeLocation*)

STAGE版本,SID,出发城市,到达城市,长度,DeltaHeight, 难度)

INDIVIDUAL_RANKINGCID、SID、版本、位置)

注意:斜体字段标识每个关系的主键,而星号表示可选字段。

下面给出了有关各种 table 字段的一些详细信息:

• SID 是递增的正整数(1、2 等)。

• 版本是递增的正整数(1、2 等)。

• 长度以米表示。

• Location 包含骑车人在该阶段(1、2 等)的到达位置。

• 难度是 1 到 10 之间的正整数。

• 身高差以米表示。

• YearFoundation 和 YearBirth 是 1900 到 2000 之间的整数值。

• 所有文本字段的最大长度为 50 个字符。

为最后 table 编写的代码:

CREATE TABLE INDIVIDUAL_RANKING (

SID INT PRIMARY KEY NOT NULL REFERENCES STAGE(CID),

CID INT PRIMARY KEY NOT NULL REFERENCES CYCLIST(CID) ,

Edition INT PRIMARY KEY NOT NULL REFERENCES STAGE(Edition),

Location CHAR(50) NOT NULL

);

错误:

ERROR 1068 (42000): Multiple primary key defined

阿里,

一个table只能定义一个主键。您的外键不需要是主要的。但是,您可以对它们有索引和约束。您可以创建一个代理键,它是一个新列(如标识列),用作唯一标识该行的列,如果您没有自然主键,则它是主键。