W MS SQL występuje taki twór jak SCOPE_IDENTITY(). Znalazłem że zapis:
CREATE PROCEDURE InsertCategory
@CategoryName nchar(15),
@Identity int OUT
AS
INSERT INTO Categories (CategoryName) VALUES(@CategoryName)
SET @Identity = SCOPE_IDENTITY()
gwarantuje nam że do parametru @Identity dostanie się index wstawionego przez nas indexu
W MySQL analogiczna funkcja do SCOPE_IDENTITY() to LAST_INSERT_ID(). Ale czy mogę mięć pewność, że zwróci wstawiony przeze mnie przed chwilą index nawet jeśli dostęp do bazy ma wielu użytkowników naraz?