Получение ID последнего добавленного елемента

275
26 ноября 2016, 20:13

Как получить id последнего добавленного елемента? Нашел следующую конструкцию SELECT LAST_INSERT_ID() НО на сколько она безопасна?

Если я сначала делаю INSERT INTO table а потом выполняю SELECT LAST_INSERT_ID()есть вероятность того что в этот в же момент "кто-то" добавил еще одну запись и мне вернется не тот id? Или может можно(нужно) объеденить это в один запрос типа INSERT INTO section (section_name) VALUES('bob') SELECT LAST_INSERT_ID()- только это синтаксическин не правельная операция...

Answer 1

Функция LAST_INSERT_ID работает независимо от запросов других клиентов. Это значит, что значение, возвращаемое функцией LAST_INSERT_ID для отдельного клиента, является значением, сгенерированным только этим клиентом. Благодаря этому каждый пользователь получает свой собственный уникальный идентификатор.

Важно отметить, что если вставить несколько строк в таблицу с помощью одного оператора INSERT, то функция LAST_INSERT_ID вернет идентификатор первой вставленной строки.

READ ALSO
Как соединить несколько таблиц sql

Как соединить несколько таблиц sql

Имеется две таблицы: user, proc_leader

278
MySQL и дублирование первичного ключа

MySQL и дублирование первичного ключа

ЗдрафствуйтеУ меня такой вопрос

210
JOINы в MySQL специфика применения

JOINы в MySQL специфика применения

ЗдравствуйтеСтолкнулся с вопросом, на который не совсем понимаю ответ

333
Что значит “SELECT NULL”?

Что значит “SELECT NULL”?

Что значит выражение MySQL SELECT NULL FROM table_name? Как я поняла, оно часто используется в сочетании с IF EXISTS или IF NOT EXISTS, например:

209