我一直试图弄清楚如何更新数据库中最新人物的ID 36小时。它蔑视clients
子句中的FROM
,但是当我删除该子句时,更新会影响整个数据库中的每个ID。
UPDATE clients SET ID = $id WHERE timestamp = (SELECT MAX(timestamp) FROM clients)
我做错了什么?
答案 0 :(得分:2)
将其替换为
UPDATE clients SET ID = $id ORDER BY `timestamp` DESC LIMIT 1
PS :此查询解决了问题中指定的原始任务“更新数据库中最新人员的ID”
答案 1 :(得分:1)
您无法使用从完全相同的表格聚合的WHERE
条件更新表格。
也许你想要这个:
UPDATE
client
SET
client.[id] = $id
ORDER BY
client.[timestamp] DESC
LIMIT 1