您好,我想创建一个外键来关联 2 个表,但是当我使用此查询时
ALTER TABLE Player
ADD CONSTRAINT FK_team_id FOREIGN KEY (team_id)
REFERENCES Team(id);
我收到错误错误代码:1215 无法添加外键约束
我正在使用带有 utf8 编码的 innoDB 引擎。表 Player 和 Team 看起来像这样
Player id PK Auto_increment etc .. .. team_id (必须是外键)
团队 ID PK ..
有人有解决方案吗?
这是创建表的语法
CREATE TABLE `Player` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`Name` varchar(100) DEFAULT NULL,
`Firstname` varchar(100) DEFAULT NULL,
`Prefix` varchar(50) DEFAULT NULL,
`Age` date DEFAULT NULL,
`Position` varchar(2) DEFAULT NULL,
`Caps` tinyint(3) DEFAULT NULL,
`Goals` tinyint(3) DEFAULT NULL,
`Captain` tinyint(1) DEFAULT NULL,
`team_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
CREATE TABLE `Team` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`Name` varchar(100) DEFAULT NULL,
`Coach` varchar(100) DEFAULT NULL,
`Prefix` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;