2013-10-02 73 views
0

以下更新查詢在phpmyadmin中運行。正確更新所有行。Yii多個更新查詢

SET @bal = 0; 
UPDATE banking SET bank_bal = @bal := @bal + (cr_amt - dr_amt) WHERE `bank_account_id` = 2 

我上述查詢在YII嘗試:

$update = Yii::app()->db->createCommand() 
->update('banking', 
    array(
     'bank_bal'=>new CDbExpression("@bal := @bal + (cr_amt - dr_amt)") 
    ), 
    'bank_account_id=:id', 
    array(':id'=>$acc) 
); 

更新平衡列中的所有行的0。我知道@bal沒有設置。我把這個mysql行SET @bal = 0.任何人都可以幫忙。

+0

剛剛創建更新查詢之前單獨的SQL查詢( SET @bal = 0;) –

+0

Yeh工作,謝謝。 –

回答

0

在這個地方:

'bank_bal'=>new CDbExpression("@bal := @bal + (cr_amt - dr_amt)",array('@bal'=>$value)) 

希望這有助於

+0

@Janz我得到錯誤無效參數編號:綁定變量的數量與令牌的數量不匹配。我在更新之前創建單獨的查詢來解釋法律。其作品。 –

0

更新查詢之前剛剛創建單獨的SQL查詢(SET @bal = 0;)