MySQL的错误:创建表时出错:无法添加外键约束

问题描述:

我试图设置两个表之间的引用,并且当我加载页面时,我一直运行到此错误。MySQL的错误:创建表时出错:无法添加外键约束

Error creating table: Cannot add foreign key constraint 

这就是“日历”表: calendars table image

而这正是当前查询我正在创建表:

CREATE TABLE `'.$classTableName.'`(
    classID INT(11) NOT NULL, 
    name VARCHAR(255) NOT NULL, 
    users INT(11) NOT NULL, 
    files INT(11) NOT NULL, 
    chats INT(11) NOT NULL, 
    deadlines INT(11) NOT NULL, 
    calendar INT(11) NOT NULL, 
    PRIMARY KEY (classID), 
    FOREIGN KEY (calendar) REFERENCES calendars(classID) 
) ENGINE=INNODB; 

任何帮助,将不胜感激! :)

+0

你有'calendars.classID'上的索引吗?外键必须指向具有索引的列。通常它指向表的主键。 – Barmar

+0

而不是图像,显示'SHOW CREATE TABLE日历'的输出。 – Barmar

+0

在calendars.classID上添加主索引解决了它,非常感谢! – joshkeley

不得不索引calendars.classID,正如Basmar指出的那样。