我正在尝试更新与 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']));
最佳答案
您可以进行两个查询:首先获取正确的 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)";
关于mysql - 使用来自 codeigniter 的变量更新一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9241710/