Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để lấy ID của hàng cập nhật cuối cùng trong MySQL?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách gửi email từ MySQL 5.1

  2. 10 sự thật và mẹo thú vị hàng đầu về MySQL

  3. Cách xóa các bản sao trong bảng MySQL

  4. Có tùy chọn / tính năng MySQL để theo dõi lịch sử các thay đổi đối với bản ghi không?

  5. Làm cách nào để truy xuất phiên bản hiện tại của hệ quản trị cơ sở dữ liệu MySQL (DBMS)?