php – 如果不存在具有相同值的行,则插入一行

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如果不存在具有相同值的行,则插入一行脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

我想在我的MySQL表kh_comments中插入一个新行,但只有在不存在具有相同值的行时才应插入它.

这就是我尝试它的方式,我知道这是完全错误的:

public function prepare($author, $arr) {
    $conn = new MysqLi($this->servername, $this->username, $this->password, $this->db_name);

    foreach ($arr as $value) {

        $stmt = $conn->prepare("INSERT INTO kh_comments WHERE NOT EXISTS (author, abstract) VALUES (?, ?)");
        $stmt->bind_param("ss", $author, $value['id']);
        $stmt->execute();

        $stmt->close();
        $conn->close();
    }
}

我也尝试过使用INSERT IGNORE INTO ……但这对我来说也没用.

任何帮助,将不胜感激!

编辑:

这是我的表格的样子:

php  – 如果不存在具有相同值的行,则插入一行


在我的sql代码中,我没有定义ID.那还需要吗?如果是这样,sql将如何看待呢?

解决方法:

Use INSERT IGNORE

$stmt = $conn->prepare("INSERT IGNORE INTO kh_comments(author,abstract) VALUES (?, ?)");

$stmt->bind_param("ss", $author, $value['id']);
$stmt->execute();

$stmt->close();
$conn->close();

请注意,要成功使用此方法(或REPLACE INTO方法甚至ON DUPLICATE KEY方法),您需要在不希望重复的字段上使用唯一索引.正如上面文档中的摘录中提到的那样

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如果不存在具有相同值的行,则插入一行全部内容,希望文章能够帮你解决php – 如果不存在具有相同值的行,则插入一行所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: