Mysql更新并选择第一个元素

时间:2016-07-28 13:59:05

标签: mysql

我使用了两个请求:

SELECT `user` FROM `table1` ORDER BY `last activity` ASC LIMIT 0,1;

UPDATE `table1` SET `last activity` = CURRENT_TIMESTAMP WHERE `user` = 'user'

我想只加入一个请求。因为两个程序经常使用同一个用户。

编辑:我忘了说我需要用户名,所以只更新第一个元素是不够的。我想让用户使用上一个活动,更新时间,我的程序会对此用户执行某些操作。问题是许多程序同时运行。重要的是,他们不能在两个请求之间同时访问同一个用户

1 个答案:

答案 0 :(得分:0)

听起来你正在寻找subquery

这看起来像这样:

UPDATE `table1` 
    SET `last activity` = CURRENT_TIMESTAMP
    WHERE `user` = (SELECT `user` FROM `table1`
        ORDER BY `last activity` ASC LIMIT 0,1)