【发布时间】:2017-08-10 09:44:43
【问题描述】:
在带有查询生成器的 CodeIgniter 更新中工作正常,但在我的情况下,我必须以下列方式运行多个更新查询。
$query="";
foreach($result as $row)
{
//generate query by some procedure will look like
//UPDATE `accounts` SET `lastbal` = lastbal + 500.00 WHERE `id` = 1;
$balance=$row['balance];
$accountid=$row['acid];
//append string
$query.= "UPDATE `accounts` SET `lastbal` = lastbal + $balance WHERE `id` = $accountid";
}
所以 $query 就像在循环之外
$query=UPDATE `accounts` SET `lastbal` = lastbal + 500.00 WHERE `id` = 1;
UPDATE `accounts` SET `lastbal` = lastbal + 200.00 WHERE `id` = 2;
UPDATE `accounts` SET `lastbal` = lastbal + 60.00 WHERE `id` = 3;
执行
$this->db->query($query);
我收到了一些错误,比如缺少参数 blah ...blah
QUERY 在 SQL 控制台 上运行良好。是否可以在批处理模式下执行此查询。
我不想以下列方式在循环内运行查询
$this->db->set('lastbal', "lastbal+$balance", FALSE);
$this->db->where('id', $acid);
$this->db->update('accounts');
我希望它在 column_old_value+input 应该可用的批处理模式下。
【问题讨论】:
标签: mysql codeigniter