MySQL无法添加外键,error code: 1215. cannot add foreign key constraint2020-11-21 12:14:28
比如创建两个简单的表,如下。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表就会无法创建,会显示
原因是被引用的外键,必须是非空的,不然是无法引用的。
把 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;
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。
Tags 标签