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

LAST_INSERT_ID() MySQL

Możesz przechowywać identyfikator ostatniego wstawienia w zmiennej:

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
SET @last_id_in_table1 = LAST_INSERT_ID();
INSERT INTO table2 (parentid,otherid,userid) VALUES (@last_id_in_table1, 4, 1);    

Lub uzyskaj maksymalny identyfikator z tabeli 1 (EDYTUJ:Ostrzeżenie. Zobacz uwagę w komentarzach Roba Starlinga o możliwych błędach warunków wyścigu podczas korzystania z maksymalnego identyfikatora)

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(), 4, 1); 
SELECT MAX(id) FROM table1;  

(Ostrzeżenie:jak wskazuje Rob Starling w



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy wyzwalacz MySQL może symulować ograniczenie CHECK?

  2. HOUR() Przykłady – MySQL

  3. Dołącz a podzapytanie

  4. Błąd:wybierz polecenie odrzucone użytkownikowi „<userid>”@„<adres-ip> ” dla tabeli „<nazwa-tabeli>”

  5. ER_NOT_SUPPORTED_AUTH_MODE — serwer MySQL