【问题标题】:Error Code: 1215. --Cannot add foreign key constraint [closed]错误代码:1215。--无法添加外键约束 [关闭]
【发布时间】:2019-12-05 14:18:49
【问题描述】:
create database university;
use university;

create table department
    (dept_name varchar(20),
     building  varchar(15),
     budget    numeric(12,2),
     primary key(dept_name));

create table course 
    (course_id   varchar(7),
     title       varchar(50),
     dept_name   varchar(20),
     credits     numeric(2,0),
     primary key(course_id),
     foreign key(dept_name) references department);

【问题讨论】:

    标签: mysql foreign-keys foreign-collection


    【解决方案1】:

    您错过了指定department 表的目标列

    foreign key(dept_name) references department(dept_name));
    

    【讨论】:

    • 又是同样的错误。
    • 不,它有效:sqlfiddle.com/#!9/70940b/1
    • 外键(dept_name)引用部门(dept_name)):在引用的表中找不到索引,其中引用的列显示为第一列,或者表中的列类型和引用的表没有匹配约束。请注意,使用 >= InnoDB-4.1.12 创建的表中 ENUM 和 SET 的内部存储类型发生了变化,并且旧表中的此类列不能被新表中的此类列引用。正确的外键定义请参考dev.mysql.com/doc/refman/5.7/en/…
    • 您应该删除这些表并重新创建它们。也许出了点问题。但通常代码就像我发布的那样工作。请参阅 SQLFiddle 中的链接。
    • 哦,现在成功了,非常感谢
    猜你喜欢
    • 2016-10-27
    • 2016-05-01
    • 2018-11-10
    • 2013-07-15
    • 2018-05-13
    • 2015-05-27
    相关资源
    最近更新 更多