Sql 如何在多对多关系表中插入记录?
例如,我有两张桌子 A B 还有第三张桌子 AB 以及他们之间的关系Sql 如何在多对多关系表中插入记录?,sql,oracle,many-to-many,Sql,Oracle,Many To Many,例如,我有两张桌子 A B 还有第三张桌子 AB 以及他们之间的关系 alter table teacher_student add constraint s_t_pk Primary key(T_Id, S_Id); 是否正确创建了此关系?如果我想添加一个新的学生或教师,插入查询是什么。通常的操作需要学生和教师表的主键,然后教师和学生表的T\u Id和S\u Id的外键 当您这样做时,插入到学生和教师,将只检查其密钥的唯一性,即,您不能有两个id为1的学生密钥 插入到Teacher_Stud
alter table teacher_student
add constraint s_t_pk Primary key(T_Id, S_Id);
是否正确创建了此关系?如果我想添加一个新的学生或教师,插入查询是什么。通常的操作需要学生和教师表的主键,然后教师和学生表的T\u Id和S\u Id的外键 当您这样做时,插入到学生和教师,将只检查其密钥的唯一性,即,您不能有两个id为1的学生密钥 插入到Teacher_Student将检查关系的唯一性,以及插入的ID是否存在于各自的表中
PS缩写数据库对象名称是一个非常令人讨厌的习惯。通常的操作需要学生表和教师表的主键,然后教师和学生表的T_Id和S_Id的外键 当您这样做时,插入到学生和教师,将只检查其密钥的唯一性,即,您不能有两个id为1的学生密钥 插入到Teacher_Student将检查关系的唯一性,以及插入的ID是否存在于各自的表中
PS缩写数据库对象名称是一个非常令人讨厌的习惯。建议:还应添加引用完整性约束:
alter table teacher_student
add constraint s_t_fk_t foreign key (T_Id)
references teachers (id)
on delete cascade
on update cascade;
alter table teacher_student
add constraint s_t_fk_s foreign key (S_Id)
references students (id)
on delete cascade
on update cascade;
建议:还添加引用完整性约束:
alter table teacher_student
add constraint s_t_fk_t foreign key (T_Id)
references teachers (id)
on delete cascade
on update cascade;
alter table teacher_student
add constraint s_t_fk_s foreign key (S_Id)
references students (id)
on delete cascade
on update cascade;
为了清晰起见,缩写数据库对象名称是一种非常常见的技术。你肯定熟悉那些著名的?该死的学者。如果没有十年的实际经验,不应该允许教授Hello World。为了清晰起见,缩写数据库对象名称是一种非常常见的技术。你肯定熟悉那些著名的?该死的学者。不应该被允许在没有十年真实世界经验的情况下教授Hello World。
alter table teacher_student
add constraint s_t_pk Primary key(T_Id, S_Id);
alter table teacher_student
add constraint s_t_fk_t foreign key (T_Id)
references teachers (id)
on delete cascade
on update cascade;
alter table teacher_student
add constraint s_t_fk_s foreign key (S_Id)
references students (id)
on delete cascade
on update cascade;