php - 仅当该确切记录尚不存在时才插入 MySQL 记录

标签 php 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));
}

工作正常。但是,如果存在完全相同的记录(除 id 之外的所有行),则不应插入该记录。我已经发现它如何适用于 1 行,但没有发现它如何适用于多行。我如何在我的函数中实现它?

最佳答案

$query = "INSERT IGNORE INTO opdrachten_deelnemers (`opdracht_id`,`bedrijf_id`,`deelnemer_id`,`flag`) VALUES (:opdracht_id,:bedrijf_id,:deelnemer_id,:flag)";

希望这有帮助

关于php - 仅当该确切记录尚不存在时才插入 MySQL 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28672450/

相关文章:

javascript - 我如何在网站中像字符串一样显示 html 代码和 javascript

mysql - 与多个开发人员和数据库合作的最佳方法

mysql - 使用 moment.js 处理希伯来语日期

javascript - AJAX 请求检索 XML 输出并在大小写重定向...但它不重定向

php - 如何以调用 PHP 文件的形式发送客户端 javascript 日期

javascript - 在 Javascript 中计算价格值变化的订单总和

php - 使用 Ajax 将 mysql 值回显到表中

MySQL EF6 'System.Data.EntityClient' 未在机器中注册

mysql - 如何在flash(as3)中将mysql日期时间转换为客户端国家时间?

php isset 中的非法偏移类型或为空