Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL指向同一表的多个外键_Mysql - Fatal编程技术网

MySQL指向同一表的多个外键

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

我有一张叫做团队的桌子和一张叫做游戏的桌子。团队有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, 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”);刚刚加了这个。