【问题标题】:MySQL Error: Error creating table: Cannot add foreign key constraintMySQL 错误:创建表时出错:无法添加外键约束
【发布时间】:2016-02-12 06:19:20
【问题描述】:

我正在尝试在两个表之间设置引用,但在加载页面时一直遇到此错误。

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;

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

【问题讨论】:

  • 你有calendars.classID的索引吗?外键必须指向具有索引的列。通常它指向表的主键。
  • 显示SHOW CREATE TABLE calendars的输出而不是图像。
  • 在 calendars.classID 上添加主索引已解决,非常感谢!
  • 这应该作为stackoverflow.com/questions/1721841/…的副本关闭

标签: php mysql


【解决方案1】:

正如 Basmar 所指出的,必须索引 calendars.classID

【讨论】:

    猜你喜欢
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 2014-09-15
    • 2013-06-02
    相关资源
    最近更新 更多