为了账号安全,请及时绑定邮箱和手机立即绑定

Yii2使用一条sql语句批量更新而非循环插入,如何实现?

Yii2使用一条sql语句批量更新而非循环插入,如何实现?

PHP
12345678_0001 2019-03-18 18:06:22
Yii实现了如下的批量插入方式,如果是批量更新Yii2有没有相同的实现方式呢? Yii::$app->db ->createCommand() ->batchInsert($table, $columns, $rows) ->execute(); 批量更新是使用一条SQL语句实现批量更新,而非循环的更新的方式,e.g: UPDATE order SET field = CASE order_no WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' END WHERE order_no IN (1,2,3)
查看完整描述

4 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

replace into

查看完整回答
反对 回复 2019-03-18
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

(Update t_user set name='aa' where 1=1)a union ALL
(Update t_user set name='bb' where 1=2)a union ALL
(Update t_user set name='cc' where 1=3)a union ALL
合并sql语句, 用循环字符串,组成一条SQL语句,一次执行,提高sql的效率。循环的效率,就用不了多少了比起sql

查看完整回答
反对 回复 2019-03-18
?
墨色风雨

TA贡献1853条经验 获得超6个赞

Yii::$app->db
->createCommand()
->batchInsert($table, $columns, $rows)
->execute();
同意这个

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 1279 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信