Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać identyfikator ostatniego zaktualizowanego wiersza w MySQL?

Znalazłem rozwiązanie tego problemu :)

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;

EDYTUJ przez aefxx

Technikę tę można dalej rozszerzyć, aby pobrać identyfikator każdego wiersza, na który ma wpływ instrukcja aktualizacji:

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

To zwróci ciąg ze wszystkimi identyfikatorami połączonymi przecinkami.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. YEARWEEK() Przykłady – MySQL

  2. Jak ograniczyć wiersze w zestawie wyników MySQL

  3. Jaki jest odpowiednik LEN() w MySQL?

  4. Usuń wiersze sql, w których identyfikatory nie pasują do innej tabeli

  5. Użyj mysqldump do tworzenia kopii zapasowych MySQL lub MariaDB