tp6批量导入数据库去重问题

这篇博客探讨了两种处理数据库中重复数据的方法。一种是在插入时使用`ON DUPLICATE KEY UPDATE`语句来更新已有记录的指定字段。另一种是通过`REPLACE`方法先删除重复数据再进行插入。这两种策略在数据合法性验证和错误处理方面有所不同,影响的记录数可以作为操作成功与否的指标。
摘要由CSDN通过智能技术生成

重复数据在数据库执行更新操作

$insertAllSql = Db::name(self::$tableName)->strict(false)->fetchSql(true)->insertAll($value);
$insertAllSql .= ' ON DUPLICATE KEY UPDATE province_id = values(province_id), city_id = values(city_id), region_id = values(region_id), company_name = values(company_name), industry_involved = values(industry_involved), industry_id = values(industry_id), industry_pid = values(industry_pid)';
$res = Db::execute($insertAllSql);

execute用于更新和写入数据的sql操作,如果数据非法或者查询错误则返回false,否则返回影响的记录数。

重复数据在数据库先删除后添加

$res = Db::name(self::$tableName)->strict(false)->replace()->insertAll($value);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值