你好,我想創建一個外鍵關聯2個表,但是當我使用此查詢不能在mysql中添加外鍵
ALTER TABLE Player
ADD CONSTRAINT FK_team_id FOREIGN KEY (team_id)
REFERENCES Team(id);
我得到的錯誤錯誤代碼:1215無法添加外鍵約束
我使用的是InnoDB引擎與UTF8編碼..表球員和球隊這個樣子
球員 ID PK AUTO_INCREMENT等 .. .. 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;
是你的表已經填充了數據嗎? – ChristopheBrun
您提到的字段的類型和顯示長度以及Herode說的是什麼 - 您是否使用數據填充它們? –
如果您顯示SHOW CREATE TABLE Player和SHOW CREATE TABLE Team的結果,回答會更容易。 –