Yii多个更新查询

时间:2013-10-02 08:32:20

标签: mysql yii phpquery

以下更新查询在phpmyadmin中运行。正确更新所有行。

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.任何人都可以提供帮助。

2 个答案:

答案 0 :(得分:0)

在这个地方:

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

希望这有帮助

答案 1 :(得分:0)

在更新查询之前创建单独的sql查询(SET @bal = 0;)