问题是我不知道是否有办法通过更新操作从子查询中获取值,我尝试做的查询就像我的模型的示例代码一样:
$query = "UPDATE some_table SET value_1 = ((SELECT value_2 FROM other_table WHERE id = 2) + 1) WHERE id = 2";
$this->db->query($query);
我希望你能帮助我,或者至少让我知道另一种方法来使用活动记录
PD我正在使用CodeIgniter框架
答案 0 :(得分:1)
相当于
UPDATE some_table SET value_1 = ((SELECT value_2 FROM other_table WHERE id = 2) + 1) WHERE id = 2
ActiveRecord中的可能是:
$value_2 = $this->db->get_where('other_table', array('id' => 2))[0];
$data = array('value_1', $value_2 + 1);
$this->db->update('some_table', $data, array('id' => 2));
答案 1 :(得分:0)
我没有使用Codeigniter,但试试这个:
$query = "UPDATE some_table st SET st.value_1 = ((SELECT ot.value_2 FROM other_table ot WHERE ot.id = 2) + 1) WHERE st.id = 2";
$this->db->query($query);