使用多个外键时设置主键列名称
P粉099145710
P粉099145710 2023-09-11 15:27:20
0
1
473

create table teach_enroll(

instructor_id varchar(64) not null,
class_id varchar(64)not null,
course_id varchar(64)not null,
student_id varchar(64) not null,
foreign key (instructor_id) references instructor(id),
foreign key (class_id) references class(id),
foreign key(course_id)references course_type(id),
foreign key (student_id)references student(id),

CONSTRAINT ENROLL_ID primary key (class_id,course_id,student_id) 

);

select * from teach_enroll;

我试图将我的主键列命名为 ENROLL_ID,但当我查询 select * fromteacher_enroll 时,约束关键字没有帮助,我在单独的列中只得到了 coach_id、class_id、course_id、student_id,但我看不到主键列: )

P粉099145710
P粉099145710

全部回复(1)
P粉015402013

您的主键由三 (3) 列组成,而不是单个列,因为这是您定义它的方式。这意味着这三列的组合对于表中的每一行都必须是唯一的,尽管定义为键的任何给定列可能不是唯一的。您不能将单个名称应用于三列。

这意味着您的外键约束将命名所有 3 列。假设两个表中的列名相同,则:

CONSTRAINT FOREIGN KEY (class_id,course_id,student_id)
    REFERENCES teach_enroll(class_id,course_id,student_id)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板