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

Jaki jest standardowy sposób uzyskania ostatniego identyfikatora wstawiania?

Zobacz tę odpowiedź Pobierz wstawiony identyfikator wiersza w SQL

Krótko mówiąc, nie ma na to sposobu między bazami danych, z wyjątkiem MAX(ID) - ale nie jest to gwarantowany wynik i ma wiele pułapek, np.

  • inne wstawki mogą znajdować się między ostatnim wstawieniem a maksymalnym zapytaniem
  • nie może być używany z wysokimi tabelami transakcji (max uruchomi blokadę odczytu, metody specyficzne dla rdbms nie odczytują z żadnej tabeli)

Standard ANSI odnoszący się do tożsamości/autonumber/auto_increment/sequences po raz pierwszy pojawił się w SQL:2003 oczekuje na wdrożenie przez wszystkie główne RDBMS. Najprawdopodobniej będzie przypominać sekwencje Oracle/PostgreSQL.

Kolejną zmianą w SQL:2003 jest OUTPUT USING CLAUSE ale jest bardzo mało informacji na ten temat. Sybase i SQL Server zrobiły z nim różne rzeczy, więc nie jest jeszcze jasne, jak to się potoczy. SQL Server implementuje go jako

INSERT INTO TBL(..)
OUTPUT inserted.identity_col
INTO @sometablevar
VALUES(..)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Codeigniter/PHP sprawdza, czy można połączyć się z bazą danych

  2. Jak wyszukać pełne imię i nazwisko, gdy imię i nazwisko są przechowywane w różnych kolumnach?

  3. Jak porównać dwie kolumny, aby znaleźć niedopasowane rekordy w MySQL?

  4. Używanie indeksu w LEFT JOIN z warunkiem OR

  5. Jak udzielić zdalnego dostępu do MySQL dla całej podsieci?