php yii 插入,Yii2 批量插入、更新数据实例
在使用yii2开发项目时,有时候会遇到这样的情况:
向后台发送多条数据,其中一些数据已经存在记录,只需要对其部分字段的值进行修改;而另一部分的数据则需要新添加进去.
这就需要对添加的数据进行判断,其中一些执行update,剩下的执行insert
代码如下,不对的地方请指教:
//批量更新,并将需要批量插入的数据放入数组中
foreach($goods as $k => $v)
{
if(yourModel::updateAllCounters(
['goods_num' => $v],
['goods_id' => $k,'user_id' => $id]
))
{
continue;//如果已经更新,则跳过此次循环,到下一次
}
$data[] = [
'user_id' => $id,
'goods_id' => $k,
'goods_num' => $v,
'created_time' => $time,
]
}
//再执行批量插入
if (isset($data))
{
Yii::$app->db->createCommand()
->batchInsert(yourModel::tableName(),['user_id','goods_id','goods_num','created_time'],
$data)
->execute();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
php yii 插入,Yii2 批量插入、更新数据实例相关推荐
- oracle批量将id更新为uuid,oracle批量新增更新数据
本博客介绍一下Oracle批量新增数据和更新数据的sql写法,业务场景是这样的,往一张关联表里批量新增更新数据,然后,下面介绍一下批量新增和更新的写法: 批量新增数据 对于批量新增数据,介绍两种方法 ...
- oracle应用之批量新增更新数据
本博客介绍一下Oracle批量新增数据和更新数据的sql写法,业务场景是这样的,往一张关联表里批量新增更新数据,然后,下面介绍一下批量新增和更新的写法: 批量新增数据 对于批量新增数据,介绍两种方法 ...
- java插入数据库字符串拼接_java连接mysql数据库实现单条插入和批量插入
本文实例为大家分享了java连接mysql数据库实现单条和批量插入的具体代码,供大家参考,具体内容如下 本文插入数据库的数据来源:java + dom4j.jar提取xml文档内容 1.连接数据库 p ...
- mybatis的插入与批量插入的返回ID的原理
文章目录 背景 底层调用方法 单个对象插入 直接保存实体的对象作为参数传入(给伪代码示例) 多个对象,实体对象作为其中一个对象传入 列表批量插入 直接保存实体的对象作为参数传入(给伪代码示例) 多个对 ...
- mysqlplus 批量插入_mysql批量插入
在MySQL数据库中,如果要批量插入数据(特别是上百万级超大数据), 用普通的insert into来操作非常不现实,速度慢人力成本高, 推荐使用Load Data或存储过程来导入数据, 我总结了一些 ...
- mongodb 批量插入_MongoDB批量插入– MongoDB插入很多
mongodb 批量插入 We will look into MongoDB bulk insert today. Multiple documents can be inserted at a ti ...
- sql加上唯一索引后批量插入_MySQL批量插入遇上唯一索引避免方法
一.背景 以前使用SQL Server进行表分区的时候就碰到很多关于唯一索引的问题:Step8:SQL Server 当表分区遇上唯一约束,没想到在MySQL的分区中一样会遇到这样的问题:MySQL表 ...
- springboot执行批量插入_Springboot 批量插入优化
//com.baomidou.mybatisplus.extension.service.impl ServiceImpl /** * 批量插入 * * @param entityList * @pa ...
- mysql ibatis 批量插入_ibatis 批量插入逻辑
ibatis oracle 批量插入配置 insert into T_LAW_STATISTICS_CLASSIFY(ID,TEMPLATE,ALIAS,CONTENT,BACKUP1,BACKUP2 ...
最新文章
- div中的图像在图像下方有多余的空间
- 对软件测试工程师面试题目的回答[转]
- 2.1.6 编码与调制(2)
- 保存模型后无法训练_模型构建到部署实践
- 获取minist数据并转换成lmdb
- FireFox与IE的兼容
- 轻松理解牛顿迭代法且用其求平方根
- 阿里京东被怼假货泛滥;谷歌 CEO 承认中国版搜索 App 存在;YouTube 全球宕机 | 极客头条...
- 【渝粤教育】国家开放大学2018年春季 8643-22T数据库基础与应用 参考试题
- g6的minimap中的配置_使用GGEditor开发流程编辑应用
- fir.im Weekly - 如何打造真正的工程师文化
- AntDesign前端分页
- 51定时器PWM调节
- ExpRe[10] Ubuntu[2] 准备神秘软件、备份恢复软件
- c++ 栈 stack 用法
- YOUKU播放器 研究
- 我叫mt4服务器注册 满了,我叫MT4注册上限怎么办 人数上限解决办法
- 261期计算机开机号,福彩3D2017第261期彩吧3D开机号147
- 类似火车头的采集器-免费任意数据采集器
- vmvare workstation 15Pro密钥
热门文章
- 临近年关,修复ASP.NET Core因浏览器内核版本引发的单点登录故障
- 在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用
- Named Volume 在 MySQL 数据持久化上的基本应用
- 【招聘(南京)】南京纳龙科技有限公司招高级.net开发工程师
- 美好生活从撸好代码开始
- 程序猿修仙之路--数据结构之你是否真的懂数组?
- 如何看待微软新开源的Service Fabric?
- 微软亚太区资料科学总监:R 语言是 VS 生态第一顺位
- Entity Framework Core 1.1 升级通告
- Visual Studio Code 1.8版本添加了Hot Exit、Zen Mode及更多调试选项