Отказ от ответственности: я не проектировал эти таблицы, и я знаю, что они не лучший способ сохранить эти данные. Мне нужен совет по наилучшему способу справиться с ситуацией.Лучшая практика MySQL UPDATE/INSERT
У меня есть две таблицы 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 и комментарий. Поскольку каждый студент может иметь 3 профессора в своей строке, новые строки должны быть добавлены к professors
всякий раз, когда они перечислены для нескольких учеников. Это означает, что поле id professors
необходимо будет автоматически увеличивать для каждого нового комментария ученика.
Каков наилучший способ выполнить эту передачу данных с помощью запроса MySQL? Я пробовал смотреть UPDATE в сочетании с JOIN, но я не уверен, что есть даже правильный способ сделать это. Кроме того, мне нужно создать другой первичный ключ для professors
, так как несколько строк будут иметь одинаковый идентификатор?
Я подозреваю, что просмотр может быть лучшим способом для достижения этого, но приложение на передней панели ожидает, что информация будет сохранена в таблице professors
.
Еще одна вещь, которую я рассматривал, состояла в том, что я мог бы создать новую таблицу, объединив две таблицы и получив первичный ключ с двумя столбцами, students.id, Professor.id.
Спасибо!
Спасибо Камилю, я рассмотрю СОЮЗ. – Beatrice