有時候需要更新乙個表裡面很多字段,用內建方法update更新可能還算適用
內建方法如下:
yii::-
>db-
>
createcommand()
->
update
($table
,$columns
,$condition=''
)->
execute()
;
第乙個是表,第二個修改字段 ,第三個是條件
例項:
yii::-
>db-
>
createcommand()
->
update
(user:
:tablename()
,['user_state'
=>
'1']
,"user_name=''")
->
execute()
;
/**
* @param $table string 表名
* @param $key string 條件主鍵,作用參考switch中的case
* @param $val self 修改主鍵
* @param $data array $key與$val主鍵對應的資料載體
* @return string 批量更新sql
*/public
function
batchupdate
($table
,$key
,$val
,$data
) then ";
}$sql
="update `
` set
= case
end where
in ()";
return
$sql
;}
呼叫例項:
$data=[
["user_id"
=>1,
"sort"
=>1]
,["user_id"
=>4,
"sort"
=>2]
,["user_id"
=>5,
"sort"
=>3]
];$sql
=$this
->
batchupdate
("user"
,"user_id"
,"sort"
,$data);
$res
= yii::-
>db-
>
createcommand
($sql)-
>
execute()
;
yii2批量插入資料
yii2批量插入資料就是將資料整合在乙個陣列裡面,然後將這個陣列直接插入到資料庫,一次性插入多條資料.分兩種情況,第一種情況 全欄位插入,就是這個陣列中每條資料裡面的鍵都和資料庫裡面欄位名一致,且每個欄位都有.use yii helpers arrayhelper rows foreach mode...
mysql之儲存過程(四) 批量更新操作
最近有乙個場景,在生產環境的乙個庫中,新增了乙個字段。需要從另乙個關聯表中找到相當的字段回填。影響資料數百萬條。首先,不能使用一條大的update語句來更新,這個鎖太大,容易產生鎖徵用,造成死鎖。update b a set new column select other col from a b ...
關於yii2的url美化及相關apache配置問題
在寫yii2專案的時候我們可能會碰到這種問題 我們會覺得這個url不夠美觀,想換成這種形式的,這就涉及到路由配置 url美化問題 比如我們配置前台 我們需要在 frontend web資料夾下加乙個重定向檔案,即.htaaccess,檔案內容如下 rewriteengine on 如果是乙個目錄或者...