MySQL - 更新最后一次出现的字符串

时间:2014-06-14 00:38:23

标签: mysql

我有一张这样的表:

 +----------------------------+
 | 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"条目。

提前致谢。

2 个答案:

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