SQL中的复合实体编译错误


create table Enroll
(
     Student_ID int primary key not null,
     Subject_Code varchar(10) primary key not null,
     Enroll_Date Date,
     Foreign key(Student_ID) references Student,
     Foreign keh(Subject_Code) references Subject
)

我的enroll表有Student_IDSubject_Code作为外键和主在复合表,当我执行这个SQL语句,它产生了一个错误,是如何解决这个问题?

复合主键必须单独声明,不能作为其列定义的一部分:

create table Enroll
(
     Student_ID int not null,
     Subject_Code varchar(10) not null,
     Enroll_Date Date,
     primary key (Student_ID, Subject_Code),
     Foreign key(Student_ID) references Student,
     Foreign key(Subject_Code) references Subject 
)

最新更新