答案 0 :(得分:0)
那是因为你没有在主题表中创建student_id 你必须在subject_id列之后创建student_id
答案 1 :(得分:0)
student_id,在您放入外键之前,在查询中添加student_id int unsigned not null
以创建主题表。
答案 2 :(得分:0)
您需要在'subject'表中添加'student_id'列。错误表示“主题”表。
您正尝试将“subject”表中的“student_id”列标记为引用“学生”表中“student_id”列的外键。
答案 3 :(得分:0)
正如其他评论Subjects
表没有student_id
字段,可能不应该有。否则,您将为参加该课程的每位学生重复相同的数据。
所以你做了什么:
Students
,Subjects
就像现在一样(没有Student
的外键)student_subject
{subject_id, student_id}
,您可以在其中存储每位学生注册的科目。
Students
,Subjects
然后,如果你想获得一个学生注册的科目。
SELECT st.*, su.*
FROM Students st
JOIN Student_Subjects ss
ON st.student_id = ss.student_id
JOIN Subjects su
ON ss.subject_id = su.subject_id
WHERE st.student_id = @student_id