下面的更新查询在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放在哪里。任何人都可以帮助。

最佳答案

在这个地方:

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


希望这可以帮助

关于mysql - Yii多个更新查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19132929/

10-12 00:20