mysql - 使用来自 codeigniter 的变量更新一条记录

标签 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']));

最佳答案

您可以进行两个查询:首先获取正确的 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/

相关文章:

php - 在一个 SQL 列中保存多个元素的好方法?

php - 遍历 $_POST 变量

mysql - 从多个 mysql 主机连接表

php - codeigniter 表单验证错误消息不显示

php - 使用 codeigniter 的事件记录在 SQL 语句末尾放置 where 子句

codeigniter - 谷歌站点地图无法正常工作,因为漂亮的 codeigniter 网址

javascript - 是否可以直接从服务 worker (ServiceWorkerGlobalScope)读取变量?

mysql - 如何对 GROUP BY x DESC 进行查询

Javascript、Jquery 变量问题

php - 将变量插入 header 位置 PHP