任何简单的方法来设置一个主键作为外键到多个表
问题描述:
program(p_id(pk), program_name)
和其他三个表:
graduate_survey(id(pk),PO1_avg,PO2_avg,program_name,session)
,
alumni_survey(id(pk),PO1_avg,PO2_avg,program_name,session),
faculty_survey(id(pk),PO1_avg,PO2_avg,program_name,session)
...
I必须链接三个表与程序表...如何链接这些表在MySQL中? graduate_survey, alumni_survey
,faculty_survey是针对某些特定程序计算的某些表单...如果以graduate_survey
,alumni_survey
,faculty_survey
的形式存在没有用于输入program_name的文本框,但是如果我在数据库表中创建了一个列名“program_name”我可以通过参考program
表来输入program_name吗?是否有任何连接查询?
答
使用程序ID为外键的其它表中,像这样:
program(p_id(pk), program_name)
graduate_survey(id(pk),PO1_avg,PO2_avg,p_id(fk),session),
alumni_survey(id(pk),PO1_avg,PO2_avg,p_id(fk),session),
faculty_survey(id(pk),PO1_avg,PO2_avg,p_id(fk),session)
你并不真正需要的程序名称的FK约束的缘故,但它仍然是一个不错的在也许有一点。
这样你就可以轻松地将基于的p_id,例如:
"SELECT * FROM program INNER JOIN graduate_survey ON program.p_id=graduate_survey.p_id WHERE <your condition here>"
希望这有助于。
建议任何加入查询加入任何表与程序表.... –
在加入后如何插入毕业生调查中的值?是否会有插入选择操作? –
插入语句在连接后看起来相同。连接实际上并不只是在查询结果中加入数据库中的表。因此,插入语句:'INSERT INTO'graduate survey'('PO1_avg','PO2_avg','p_id','session')VALUES('x','y','z','xy')' – nge