我有一张这样的表:
+----------------------------+
| id | name | helper |
+----------------------------+
| 1 | user1 | NULL |
| 2 | user1 | NULL |
| 3 | user1 | NULL |
| 4 | user2 | NULL |
| 5 | user2 | NULL |
+----------------------------+
现在我想更新" user1" 的 最后 - 我该怎么做?
这是我现在的示例查询:
UPDATE Table SET helper = 'bob' WHERE name = 'user1' AND helper IS NULL;
然而,这会更新所有" user1"条目。
提前致谢。
答案 0 :(得分:2)
这应该有用。
UPDATE Table SET helper = 'bob' WHERE id = (SELECT MAX(id) FROM Table WHERE name = 'user1')
只需使用MAX(id)获取'user1'的最后一行。
答案 1 :(得分:2)
update t set helper = 'bob' where name = 'user1' order by id desc limit 1;