mysql - Yii 多次更新查询

标签 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 放在哪里。任何人都可以提供帮助。

最佳答案

在这个地方:

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

希望这有帮助

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

相关文章:

php - MySQL 变量和 PDO

php - 如何在 PHP 中回显 count(*) AS 的结果?

php - Yii 使用 CDbCriteria 和 CActiveDataProvider 加入

mysql - 在 Yii 中对 CHtml::listData 下拉列表进行排序

php - 不将数据插入 wp_users 表中的自定义字段

mysql - 在 bash 脚本中使用 NOT LIKE 命令时出错

jquery - 如何更改 Yii CJuiAutoComplete 的输入类型?

javascript - 遍历每个元素并只获取直接在节点中的内容

php - 帮助 PHP 选择查询 : WHERE x=y AND a=b AND IF (c ! = d) 可能吗?

php - 如何使用 phpquery 查找标签名称?