表中有两个或多个外键

时间:2012-02-01 08:21:22

标签: mysql database

在MySQL中我有这3个表:

CREATE TABLE IF NOT EXISTS Seasons
(
 season_id INT NOT NULL AUTO_INCREMENT,
 start_date DATE,
 end_date DATE,
 club_num INT,
 desc TEXT,
 PRIMARY KEY(season_id)
);

ALTER TABLE Seasons AUTO_INCREMENT=10000;



CREATE TABLE IF NOT EXISTS Clubs
(
 club_id INT NOT NULL AUTO_INCREMENT,
 club_name VARCHAR(70),
 PRIMARY KEY(club_id)
);

ALTER TABLE Clubs AUTO_INCREMENT=100000;


CREATE TABLE IF NOT EXISTS ClubsCloths
(
 season_id INT NOT NULL,
 club_id INT NOT NULL,
 first_shirt VARCHAR(50),
 second_shirt VARCHAR(50),
 PRIMARY KEY(season_id,club_id),
 FOREIGN KEY (season_id) REFERENCES Seasons(season_id),
 FOREIGN KEY (club_id) REFERENCES Clubs(club_id)
);

在最后一个中,我有2个外键引用第一个和第二个表。现在我想知道在一个表中有2个外键是明智的吗? 感谢

2 个答案:

答案 0 :(得分:1)

将几个外键放到不同的表(或同一个表,没关系)是完全正常的。

答案 1 :(得分:1)

这很正常。 ClubsCloths表用于支持SeasonsClubs之间的多对多关系。