关于创表的问题

来源:1-1 课程介绍

__________千

2021-12-05 01:13:38

CREATE TABLE t_subject(
	id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
	subject VARCHAR(10) NOT NULL UNIQUE
);
CREATE TABLE t_teacher(
	id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR(20) NOT NULL,
	sex ENUM('男','女') NOT NULL,
	subject VARCHAR(10) NOT NULL,
	FOREIGN KEY (subject) REFERENCES t_subject(subject)
);

CREATE TABLE t_student(
	id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
	name VARCHAR(20) NOT NULL,
	sex ENUM('男','女') NOT NULL,
	tel CHAR(11) NOT NULL UNIQUE,
	subject VARCHAR(10) NOT NULL,
	teacher_name VARCHAR(20) NOT NULL,
	FOREIGN KEY (subject) REFERENCES t_subject(subject),
	FOREIGN KEY (teacher_name) REFERENCES t_teacher(name)
);

https://img.mukewang.com/climg/61aba19f09b5b47619201080.jpg

老师为啥出错了

写回答

1回答

时间,

2021-12-05

同学,你好!作为被引用的外键它必须是唯一值,因此要给t_teacher表的name添加约束unique

https://img.mukewang.com/climg/61ac20b90969abf808120180.jpg

祝学习愉快!

0

0 学习 · 4470 问题

查看课程