免责声明:我没有设计这些表,并且知道它们不是存储这些数据的最佳方式。我需要有关处理这种情况的最佳方法的建议。
我有两个 MySQL 表:
`students`
id int; primary, unique
prof1_id varchar
prof2_id varchar
prof3_id varchar
`professors`
id int; primary, unique, auto-increment
username varchar
fname varchar
fname varchar
students_id int
comment text
教授的用户名可以在表的最后三列中的任何一列中students
。students
教授需要为表格 中的每个学生提供一条评论。
作为该数据库前端的应用程序需要表中还有两列professors
:student_id 和comment。professors
由于每个学生的行中可能有任意 3 位教授,因此每当为多个学生列出新行时,都需要添加新行。这意味着professors
id 字段将需要为每个新学生评论自动递增。
使用 MySQL 查询完成此数据传输的最佳方法是什么?我尝试将 UPDATE 与 JOIN 结合使用,但我不确定是否有有效的方法来做到这一点。professors
另外,由于多行将具有相同的ID ,我是否需要创建另一个主键?
我怀疑 VIEW 可能是完成此任务的最佳方式,但前端的应用程序希望将信息存储在professors
表中。
我正在考虑的另一件事是,我可以通过连接两个表来创建一个新表,并拥有一个两列的主键,students.id,professor.id。
谢谢!