У розробці бази даних ми часто використовуємо сурогатний ключ для створення унікальних цілих значень для стовпця первинного ключа таблиці за допомогою AUTO_INCREMENTатрибута:
CREATETABLEtable_name( id INT AUTO_INCREMENT, ...,PRIMARY KEY(id));
Коли ви вставляєте рядок у таблицю, не вказуючи значення для idстовпця, MySQL автоматично генерує послідовне унікальне ціле число для idстовпця.
Функція LAST_INSERT_ID()повертає автоматично згенероване ціле число ( BIGINT UNSIGNED), успішно вставлене в AUTO_INCREMENTстовпець.
Якщо ви вставляєте кілька рядків у таблицю за допомогою одного INSERTоператора, LAST_INSERT_ID()функція повертає лише перше автоматично згенероване значення.
Якщо вставка не вдається, результат, який повертає, LAST_INSERT_ID()залишається незмінним.
Функція LAST_INSERT_ID()працює за клієнтонезалежним принципом. Це означає, що значення, яке повертає LAST_INSERT_ID()функція для конкретного клієнта, є значенням, згенерованим цим клієнтом лише для того, щоб кожен клієнт міг отримати свій власний унікальний ідентифікатор.