У меня есть 3 стола: стоматологи, группы и groupdentlink. Многие стоматологи связываются со многими группами через таблицу groupdentlink.Вставить, где не существует - без первичного ключа
Так что я пытаюсь сделать запрос, в котором он будет вставлять строки в groupdentlink (связывание всех дантистов в состоянии со всеми группами в состоянии), но только если эти строки еще не существуют. В двух словах я хочу добавить новые строки, не перезаписывая существующие или не дублируя их.
Так намерение запроса что-то вроде:
INSERT INTO groupdentlink (f_dent_id, f_group_id, f_schedule_id)
VALUES ('$_POST[id]', '$groupid', '$scheduleid')
WHERE NOT EXISTS ('$_POST[id]', '$groupid')
И у меня нет никаких первичных ключей в таблице groupdentlink.
Спасибо заранее!
OK, но вы не получите сообщение об ошибке, если оно не по каким-либо причинам, как нарушение ограничения внешнего ключа. – greyfairer
@greyfairer Он будет только «IGNORE», если вставка завершится неудачно из-за дублирования ключа, ограничения по внешним ключам все еще применяются. –
Большое спасибо. Я использую второй метод: уникальный ключ из комбинированных столбцов, поскольку мне кажется, что он проще. –