LAST_INSERT_ID()

У розробці бази даних ми часто використовуємо сурогатний ключ для створення унікальних цілих значень для стовпця первинного ключа таблиці за допомогою AUTO_INCREMENTатрибута:

CREATE TABLE table_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()функція для конкретного клієнта, є значенням, згенерованим цим клієнтом лише для того, щоб кожен клієнт міг отримати свій власний унікальний ідентифікатор.

Повна стаття: https://www.mysqltutorial.org/mysql-last_insert_id.aspx

Див. також:

AUTO_INCREMENT у складовому індексі

Last updated