mysql判断多条数据如果不存在则添加

936968629
  • 234

我现在有个数组如下:
array(3) {
[0]=>
string(37) "img/goodsWin/201711/rMr84405349vu.jpg"
[1]=>
string(37) "img/goodsWin/201711/gNE84405365QR.jpg"
[2]=>
string(37) "img/goodsWin/201711/JdB84405377fE.jpg"
}
后台用的php
查找goodsWin表img字段,是否存在该数据,没有则新增。
求帮助

回复
阅读 3.9k
3 个回答
papersnake
  • 9.1k

不知道楼主具体数据库格式怎么样,replace into 的优点是方便,但是如果还数据中的ID什么是自增字段,就要慎用了
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

不推荐楼上说的 replace info 的方式, 推荐在 PHP 代码里取出这个字段的数据, 对比, 一样的话不更新, 不一样的话做成最终要的样子, 然后 update 更新到表中

我觉得你可以把这三个字符串拼接成一个OR语句,然后进行查询。如果查出来了,说明数据存在不做任何处理。如果没查出来,则新增。

宣传栏