我有 2 个具有多对多关系的表:
student
(
id int(11) NOT NULL,
name varchar(255),
primary key(id)
);
teacher
(
id int(11) NOT NULL,
name varchar(255),
primary key(id)
);
我应该做 3 表 - student_has_teacher
option add id separate field primary key
student_has_teacher ( id int(11) 不为空, teacher_id int(11), 学生 ID 整数(11) 主键(id) );
option make 2 fields primary key
student_has_teacher ( teacher_id int(11), student_id 整数(11), 主键(teacher_id,student_id), 外键(teacher_id)引用教师(id), 外键(student_id)引用学生(id) );
什么是更好的选择,为什么?
谢谢
最佳答案
make 2 fields primary key
因为它们符合主键的定义。它们允许明确指示该行。
关于mysql - 多对多表 - 1 个单独的字段主键或 2 个已存在的字段主键(内部示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503320/