数据库更新需要FROM子句,但FROM子句会导致错误

时间:2011-12-13 22:09:17

标签: php mysql sql

我一直试图弄清楚如何更新数据库中最新人物的ID 36小时。它蔑视clients子句中的FROM,但是当我删除该子句时,更新会影响整个数据库中的每个ID。

UPDATE clients SET ID = $id WHERE timestamp = (SELECT MAX(timestamp) FROM clients)

我做错了什么?

2 个答案:

答案 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