我有三张表:
A_pk
PK: B_pk
PK: C_pk
FK: A_pk
FK: B_pk
我有一个用户撰写不同帖子的网站页面。
当教师在该组中发帖时,我会将数据插入Post
表中,如下所示:
A_pk = teacherName
C_pk = Post_text
当学生在该组中发帖时,我会将数据插入Post
表中,如下所示:
B_pk = studentName
C_pk = Post_text.
原因是我想记录哪个用户在我的论坛中发布了数据。
现在问题是如何在Post表中插入记录?
答案 0 :(得分:0)
您的表中不能有一个字段是两个不同表的外键。您需要做的是更改您的数据结构,以便将您的学生和教师放在同一个表中,并在Post
表中使用该主键,或者在Post
表中有两列 - 一个对于Teacher
主键和一个用于Student
主键,并根据发布帖子的人填充相应的主键。
绝对没有必要也没有理由在同一个字段中拥有两个不同表的ID。这样做会很糟糕。
答案 1 :(得分:0)
最后---我找到了解决方案。
实际上它非常简单......就像你可以拥有可空的FK.so当你为学生插入时,A_PK可以为null,反之亦然。 -
如果教师在群组中发布数据
if(A_pk!= null){Insert A_pk and Insert C_pk}
如果学生在群组中发布数据
else if(B_pk!= null){Insert B_pk and Insert C_pk}
先生,谢谢 KumarHarsh 1小时前