我们在更新一个表的1条记录时遇到了一个关键问题。更新查询已更新为所有22k记录,而不是1条记录。因为查询中缺少WHERE条件。
应用程序在PHP 5和Codeigniter 2.0.3上运行。我们试图重复该问题,但未能成功。
这种逻辑存在很长一段时间,直到现在一直可以正常工作。但是在某些特定时间,该查询无法添加WHERE条件,并且无法更新到表中的所有记录
我们编写了如下查询逻辑
$this->db->where('id', $id);
$this->db->update($this->table_name, $attributes);
我们提供$ id作为整数值。例如:2或5或100之类的
在应用程序日志中,我们得到了查询
UPDATE `users` SET `status` = 1, `updated_by` = 'system'
预期:
UPDATE `users` SET `status` = 1, `updated_by` = 'system' WHERE `users`.`id` = 34.
在日志中没有报告错误。
请让我知道为什么会失败。
预先感谢
答案 0 :(得分:0)
请以下面的格式编写代码
$this->db->where('id', 2);
$this->db->update('mytable', $record);