共计 534 个字符,预计需要花费 2 分钟才能阅读完成。
比方创立两个简略的表,如下。
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;
正文完