ファンタジー フットボール リーグを表すいくつかのテーブルを作成しようとしています。このリーグ自体にはチームが含まれ、統計を持つ選手である選ばれた選手が含まれています。現在、非常に基本的なドラフトがあり、外部キーを機能させようとしていますが、キーを追加しようとすると、このエラーが発生し続けます。
ERROR 1005 (HY000) at line 19: Can't create table 'football_db.PickedPlayers' (errno: 150)
もちろん、私は少しグーグルで検索しましたが、そのエラーメッセージが示すように、問題はそのテーブルの外部キーに関係しています。
複数の外部キーのセットを追加できませんか? それとも私が選んだ外部キーの種類ですか?前もって感謝します。
CREATE TABLE football_db.Leagues
(league_id INT NOT NULL,
league_name VARCHAR(100),
PRIMARY KEY (league_id))
ENGINE=INNODB;
CREATE TABLE football_db.Teams
(league_id INT NOT NULL,
team_id INT NOT NULL,
team_name VARCHAR(100),
PRIMARY KEY (league_id,team_id),
FOREIGN KEY (league_id) REFERENCES Leagues(league_id))
ENGINE=INNODB;
CREATE TABLE football_db.PickedPlayers
(league_id INT NOT NULL,
team_id INT NOT NULL,
player_id INT NOT NULL,
PRIMARY KEY (player_id),
FOREIGN KEY (league_id,team_id) REFERENCES Teams(league_id,team_id),
FOREIGN KEY (player_id) REFERENCES Players(player_id))
ENGINE=INNODB;
CREATE TABLE football_db.Players
(player_id INT NOT NULL,
player_name VARCHAR(50),
position VARCHAR(10),
is_free_agent BOOL,
PRIMARY KEY (player_id))
ENGINE=INNODB;