CourseTopics
{
int TopicId; // Foreign-Key to Topics.Id
int CourseContentsId; -- first of 3-part FK
int Page; -- added
int SNo; -- added
PRIMARY KEY(TopicId, CourseContentsId, Page, SNo), -- for JOINing one way
INDEX (CourseContentsId, Page, SNo, TopicId) -- for JOINing the otehr way
}
Междувременно ...
Предполагам че вашият основен проблем е въплътен в този един ред:
Това е непрактично. Решението е да имате сингъл таблица за Topic
и Page
и да се прави разлика от там.