结合更新和选择查询

See*_*Lee 1 mysql

我有两个 MySQL 工作正常,我正在尝试找到一种方法将它们组合成一个查询。

首先,它选择员工的 ID。

SELECT 'ID' FROM `employee` ORDER BY ID DESC LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

假设它返回 ID 100;

然后更新ID为100的员工数据

UPDATE 'LOG' SET `TIME_EXIT`='2013/02/22' WHERE `ID`='100';
Run Code Online (Sandbox Code Playgroud)

我可以在一个查询中完成所有操作吗?

sjd*_*aws 5

只需将它们加在一起:

UPDATE LOG SET TIME_EXIT = '2013/02/22' 
WHERE ID = (
              SELECT ID
              FROM employee
              ORDER BY ID DESC
              LIMIT 
            );
Run Code Online (Sandbox Code Playgroud)

但是基于该代码目前它只会更新 last employee,您需要employee通过使用其他标识符来选择正确的,以确保您拥有正确的标识符。

UPDATE LOG SET TIME_EXIT = '2013/02/22' 
WHERE ID = (
              SELECT ID 
              FROM employee 
              WHERE NAME = 'JOHN SMITH' 
              ORDER BY ID DESC 
              LIMIT 1
            );
Run Code Online (Sandbox Code Playgroud)