Tôi đã tìm thấy câu trả lời cho vấn đề này :)
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;
CHỈNH SỬA bởi aefxx
Kỹ thuật này có thể được mở rộng hơn nữa để truy xuất ID của mọi hàng bị ảnh hưởng bởi câu lệnh cập nhật:
SET @uids := null;
UPDATE footable
SET foo = 'bar'
WHERE fooid > 5
AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;
Điều này sẽ trả về một chuỗi với tất cả các ID được nối bằng dấu phẩy.