Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendapatkan ID dari baris yang terakhir diperbarui di MySQL?

Saya telah menemukan jawaban untuk masalah ini :)

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;

EDIT oleh aefxx

Teknik ini dapat dikembangkan lebih lanjut untuk mengambil ID dari setiap baris yang terpengaruh oleh pernyataan pembaruan:

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

Ini akan mengembalikan string dengan semua ID yang digabungkan dengan koma.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tips untuk Migrasi dari HAProxy ke ProxySQL

  2. PostgreSQL GROUP BY berbeda dari MySQL?

  3. Lembar Cheat Perintah SQL – Cara Belajar SQL dalam 10 Menit

  4. Hitung jumlah nilai unik

  5. AVG() – Menghitung Nilai Rata-Rata Kolom di MySQL