Возможно, это только я, но я не смог найти ответ на конкретную проблему, с которой я столкнулся. У меня есть функция, которая вставляет запись в мой db следующим образом:Вставьте только запись в формате MySQL, если она не существует.
function createOpdrachtInstance($opdracht, $bedrijf, $deelnemer) {
$db = dbConnection();
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$query = "INSERT INTO opdrachten_deelnemers (`opdracht_id`,`bedrijf_id`,`deelnemer_id`,`flag`) VALUES (:opdracht_id,:bedrijf_id,:deelnemer_id,:flag)";
$q = $db->prepare($query);
$q->execute(array(':opdracht_id'=>$opdracht,
':bedrijf_id'=>$bedrijf,
':deelnemer_id'=>$deelnemer,
':flag'=>0));
}
Работает нормально. Но если запись, которая является точно такой же allready, существует (все строки, кроме id), ее не следует вставлять. Я нашел, как это работает для 1 строки, но не как это работает для нескольких строк. Как я могу реализовать это в своей функции?
Спасибо за ваш ответ. Но это, похоже, не работает. – aardnoot
Вам также нужен индекс unqiue для всех 4 столбцов. – Mihai
Сочетание трех должно быть уникальным. Кажется, это делает так, чтобы в другой записи не было значений, которые присутствуют в другой записи. – aardnoot