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,但我看不到主键列: )
您的主键由三 (3) 列组成,而不是单个列,因为这是您定义它的方式。这意味着这三列的组合对于表中的每一行都必须是唯一的,尽管定义为键的任何给定列可能不是唯一的。您不能将单个名称应用于三列。
这意味着您的外键约束将命名所有 3 列。假设两个表中的列名相同,则: