【问题标题】:Yii multiple update queriesYii 多个更新查询
【发布时间】:2013-10-02 08:32:20
【问题描述】:

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

【问题讨论】:

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

标签: mysql yii phpquery


【解决方案1】:

在这个地方:

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

希望对你有帮助

【讨论】:

  • @Janz 我收到错误参数编号无效:绑定变量的数量与标记的数量不匹配。我在更新之前创建单独的查询作为解释法。它的作品。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2010-10-13
    • 2017-10-23
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多