Mysql 将一个主键设置为多个表的外键的任何简单方法

Mysql 将一个主键设置为多个表的外键的任何简单方法,mysql,database,join,wamp,Mysql,Database,Join,Wamp,我有一张桌子 程序(程序id(pk)、程序名) 和其他三个表格: 毕业生调查(id(pk)、PO1平均、PO2平均、课程名称、课程) 教员调查(id(pk)、PO1平均值、PO2平均值、课程名称、课程) 我必须用程序表链接这三个表…如何在MySQL中链接这些表graduate\u survey,Aluminal\u survey,faculty\u survey是为某个特定课程计算的一些表格…如果在表格graduate\u survey,Aluminal\u survey,faculty\u s

我有一张桌子

程序(程序id(pk)、程序名)

和其他三个表格:

毕业生调查(id(pk)、PO1平均、PO2平均、课程名称、课程)

教员调查(id(pk)、PO1平均值、PO2平均值、课程名称、课程)


我必须用程序表链接这三个表…如何在MySQL中链接这些表
graduate\u survey,Aluminal\u survey
,faculty\u survey是为某个特定课程计算的一些表格…如果在表格
graduate\u survey
Aluminal\u survey
faculty\u survey
中,没有用于输入课程名称的文本框,但是如果我在数据库表中设置了一个列名称“program\u 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>"
“选择*从程序内部加入程序上的毕业生调查。p\u id=毕业生调查。p\u id何处”

希望这能有所帮助。

加入研究生调查后,如何在调查中插入价值?是否将有insert select操作?insert语句在联接后看起来是相同的。联接实际上并没有联接数据库中的表,只是在查询结果中联接。所以有一个insert语句:'insert INTO'graduate survey'(
PO1_avg
PO2_avg
p_id
,'session')值('x','y','z','xy'),这意味着首先我必须加入表…实际上我是用php做的,所以有点困惑…让我试试……哪一部分?请详细说明你想做什么?插入一个程序?是否为特定计划插入新调查?或者别的什么?假设在程序表中program_name是B.tech IT,p_id是1。我们为B.tech IT填写调查表…接下来,对另一个程序进行了调查,即B.tech EE和p_id为2…在调查表中,外键p_id将指程序表的pk…现在,如果B.tech IT再次填写调查表,那么调查表的外键p_id将指B.tech IT的p_id是1吗?
"SELECT * FROM program INNER JOIN graduate_survey ON program.p_id=graduate_survey.p_id WHERE <your condition here>"