MySQL选择最后一条记录并更新它

Rob*_*ics 6 mysql sql sql-update

我想选择表中的最后一条记录并更新其名称。

UPDATE item 
SET name = (SELECT name FROM pds
            WHERE id = 9)
WHERE id=(SELECT id ORDER BY id DESC LIMIT 1);
Run Code Online (Sandbox Code Playgroud)

但是,执行时所有记录的名称都会更改。

也试过:

UPDATE item 
SET name = (SELECT name FROM pds
            WHERE id = 9)
WHERE id=(SELECT id FROM item ORDER BY id DESC LIMIT 1);
Run Code Online (Sandbox Code Playgroud)

Mur*_*nik 7

在 MySQL 中,您可以将order byandlimit子句应用于update语句:

UPDATE item 
SET name = (SELECT name FROM pds
            WHERE id = 9)
ORDER BY id DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)