MySQL指向同一表的多个外键
我有一张叫做团队的桌子和一张叫做游戏的桌子。团队有id、名称。。。。。奥运会有id、hteam_id、vteam_id、loc等。。。。我希望hteam_id和vteam_id都是teams表中的外键。你是如何做到这一点的首先阅读以下内容: 例如:MySQL指向同一表的多个外键,mysql,Mysql,我有一张叫做团队的桌子和一张叫做游戏的桌子。团队有id、名称。。。。。奥运会有id、hteam_id、vteam_id、loc等。。。。我希望hteam_id和vteam_id都是teams表中的外键。你是如何做到这一点的首先阅读以下内容: 例如: CREATE TABLE parent (id INT NOT NULL, PRIMARY KEY (id) ) ENGINE=INNODB; CREATE TABLE child (id INT, par
CREATE TABLE parent (id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE child (id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE
) ENGINE=INNODB;
您可以使用以下方法添加两个外键:
alter table game add foreign key game_hteam_id(hteam_id) references teams(id)
, add foreign key game_vteam_id(vteam_id) references teams(id);
这是正确的,但是我建议给你的外键命名。对不起,Brian,我不理解你的评论。他建议给外键约束添加一个显式的名称(否则mysql只给它们默认名称,如“game_ibfk_1”);刚刚加了这个。