也许它只是我,但我无法找到我在其他任何地方遇到的确切问题的答案。我有一个函数,在我的数据库中插入一条记录,如下所示:
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));
}
工作正常。但是如果一个完全相同的记录已经存在(除了id之外的所有行),就不应该插入它。我已经发现它如何适用于1行但不适用于多行。我怎样才能在我的函数中实现它?
答案 0 :(得分:1)
$query = "INSERT IGNORE INTO opdrachten_deelnemers (`opdracht_id`,`bedrijf_id`,`deelnemer_id`,`flag`) VALUES (:opdracht_id,:bedrijf_id,:deelnemer_id,:flag)";
希望这有帮助
答案 1 :(得分:0)
我认为你的意思是列而不是行“(除了id之外的所有行)”?如果这是我,我将使用存在逻辑测试的storedprocedure来查找具有这些值的记录是否存在。如果记录存在,则不做任何其他添加记录。