登录
首页 >  数据库 >  MySQL

MySQL无法添加外键,error code: 1215. cannot add foreign key constraint

来源:SegmentFault

时间:2023-01-22 16:37:26 117浏览 收藏

大家好,今天本人给大家带来文章《MySQL无法添加外键,error code: 1215. cannot add foreign key constraint》,文中内容主要涉及到MySQL、foreign-key、外键,如果你对数据库方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

比如创建两个简单的表,如下。

CREATE table clazz(
    id INT AUTO_INCREMENT,~~~~
    name varchar(20) NOT NULL,
    total INT UNSIGNED NOT NULL,
    PRIMARY KEY(id)
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE table student(
    id INT AUTO_INCREMENT,
    name varchar(20) not null,
    age INT  NOT NULL,
    clazz_id INT,
    PRIMARY KEY(id),
    FOREIGN KEY(clazz_id) references clazz(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

student表就会无法创建,会显示

image.png

原因是被引用的外键,必须是非空的,不然是无法引用的。

把 clazz 表的 id 改为 not null ,即可。如下

 CREATE table clazz(
    id INT NOT NULL AUTO_INCREMENT,
    name varchar(20) NOT NULL,
    total INT UNSIGNED NOT NULL,
    PRIMARY KEY(id)
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;
 

image.png

今天关于《MySQL无法添加外键,error code: 1215. cannot add foreign key constraint》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表