使用codeigniter中的变量更新一条记录

时间:2012-02-11 16:11:40

标签: mysql codeigniter variables limit

我正在尝试更新与userid和id匹配的最后一条记录。通过下面的查询,将更新与usedid匹配的所有记录。如何让它只更新用户的最后一条记录?

$sql1 = "UPDATE punch SET time=?, activitydate=? WHERE id = ? ORDER BY id DESC LIMIT 1";
        $query = $this->db->query($sql1, array($data['time'], $data['activitydate'],     $data['id']));

1 个答案:

答案 0 :(得分:2)

您可以进行两次查询:首先获取正确的ID(打卡主键),然后再进行更新。或者使用如下子查询的查询:

$sql1 = "UPDATE punch a SET a.time=?, a.activitydate=? WHERE a.id = (select b.id from punch b where b.userid=? ORDER BY b.id DESC LIMIT 1)";