我正在尝试更新与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']));
答案 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)";