У меня есть таблица вроде этого:MySQL REPLACE для комбинаций клавиш вместо одной клавиши
CREATE TABLE registration (
`student_id` INT(5) NOT NULL,
`course_id` INT(5) NOT NULL
)
Как правило, студент может иметь возможность зарегистрироваться на несколько курсов, как это:
------------------------------------------
|* student_id *|* course_id *|
------------------------------------------
| 1 | 3 |
------------------------------------------
| 1 | 4 |
------------------------------------------
| 1 | 17 |
------------------------------------------
| 2 | 2 |
------------------------------------------
| 2 | 37 |
------------------------------------------
Я хочу обновить регистрацию одного студента одним запросом. используя, например, MySQL ON DUPLICATE UPDATE
или REPLACE
.
Пример: Я хочу обновить курсы, на которых студент зарегистрирован id 1, и поместить в них 3, 4 и 18 вместо 3,4,17 в идентификаторы курса.
проблема заключается в том, что функции тезисов работают для дублирования столбца, а не для дублирования комбинации столбцов.
В моей таблице, student_ids и course_ids могут повторяться, быть комбинацией student_id и course_id нельзя. Я хочу использовать ON DUPLICATE UPDATE
или REPLACE
с комбинацией столбцов.
любые идеи?
Пожалуйста, объясните немного больше, чтобы уточнить – 1000111
Вы можете создать составной уникальный ключ '' –
1000111