关于创表的问题
来源: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)
);
老师为啥出错了
1回答
时间,
2021-12-05
同学,你好!作为被引用的外键它必须是唯一值,因此要给t_teacher表的name添加约束unique

祝学习愉快!
相似问题