一尘不染

如何获取MySQL中最后更新的行的ID?

mysql

如何使用PHP获取MySQL中最后更新的行的ID?


阅读 592

收藏
2020-05-17

共1个答案

一尘不染

我找到了这个问题的答案:)

SET @update_id := 0;
UPDATE some_table SET column_name = 'value', id = (SELECT @update_id := id)
WHERE some_other_column = 'blah' LIMIT 1; 
SELECT @update_id;

*由aefxx *编辑

可以进一步扩展此技术以检索受更新语句影响的每一行的ID:

SET @uids := null;
UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;

这将返回一个字符串,其中所有ID都由逗号连接。

2020-05-17