外键关联的问题
CREATE TABLE t_teacher( id INT UNSIGNED PRIMARY KEY, tname VARCHAR(20) NOT NULL, course VARCHAR(10) NOT NULL ); CREATE TABLE t_student( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, tname char(20) NOT NULL, book_acction VARCHAR(15) NOT NULL UNIQUE, book_password VARCHAR(15) NOT NULL, tname VARCHAR(20) NOT NULL, books VARCHAR(30), FOREIGN KEY (tname) REFERENCES t_teacher(tname) );
为什么这个使用外键约束关联不了呢?
19
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕凡
2022-08-30 15:36:56
同学,你好!
1、外键关联的字段需要加上唯一索引UNIQUE
2、t_student中有两个tname
参考sql如下
CREATE TABLE t_teacher( id INT UNSIGNED PRIMARY KEY, tname VARCHAR(20) NOT NULL UNIQUE, course VARCHAR(10) NOT NULL ); CREATE TABLE t_student( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, tname char(20) NOT NULL, book_acction VARCHAR(15) NOT NULL UNIQUE, book_password VARCHAR(15) NOT NULL, tname1 VARCHAR(20) NOT NULL, books VARCHAR(30), FOREIGN KEY (tname) REFERENCES t_teacher(tname) );
祝学习愉快~
Python全能工程师
- 参与学习 人
- 提交作业 16247 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星