Space Base Space Base
+7 928 008-80-89
ru
  • en
  • es
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  1. Библиотека
  2. PHP
  3. ID последней записи в базе данных MySQL в PHP
logo

ID последней записи в базе данных MySQL в PHP

12.08.2016

Обычно, задача узнать последний добавленный идентификатор (id) возникает после запроса вставки данных INSERT. Причем, поле, которое будет содержать это значение, назначается автоматически базой данных.

Автоматическое назначение id в базе данных используется очень часто. При этом сразу решается проблема уникальности идентификатора – он не будет дублироваться, и не нужно реализовывать специальный код для его генерации. Тем более что любая СУБД обязательно включает в себя такой функционал.

Стоит уточнить, что иногда есть необходимость генерировать идентификатор по другим правилам. Такое делается либо для удобства дальнейшей работы – например, включение в id значения, которые будет иметь какой-то смысл – текущая дата или тип записи. Либо, наоборот, идентификатор формируется набором случайных символов для обеспечения безопасности. В этом случае, сложно будет его случайно указать или угадать.

Для нахождения последнего id, созданного при вставке дынных в MySQL, в PHP используется функция mysql_insert_id. Обязательных параметров у нее нет, поэтому в коде просто присваиваем значение, возвращаемое этой функции в переменную или сразу используем ее в качестве параметра в другой функции.

$last_id = mysql_insert_id(); // запись значения в переменную
my_function(mysql_insert_id()); // указание параметром в другую функцию

В разработке, такой подход наиболее простой и удобный. Но применять его нужно, зная, что эта функция возвращает идентификатор, созданный для любой из таблиц последним. Т.е. может возникнуть ситуация, когда в "один момент времени" в БД будет добавлено две записи. При этом функция mysql_insert_id будет возвращать id записи, добавленной последней.

Кроме того, если между интересующим запросом вставки данных и функцией определения идентификатора будет выполнен другой запрос, не использующий поля с атрибутами AUTO_INCREMENT (поле со счетчиком), то будет возвращено значение 0.

Обычно этой функцией пользуются непосредственно после выполнения запроса на добавление данных, поэтому вероятность описанной ситуации сводится к минимуму. Но если известно, что этот механизм может многократно выполняться в единый момент времени, стоит вспомнить об этой проблеме и проверить насколько корректно все работает.

Другие материалы:

Функция is_dir в PHP, описание и примеры


Функция fopen в PHP, описание и примеры


Работа с датой и временем в PHP


Написать комментарий

Комментарии

В комментариях запрещено публиковать рекламные материалы. Все сообщения оправляются на модерацию и будут опубликованы, если не нарушают правил сайта после проверки.


коммент.

Разработка сайтов

Корпоративный сайт
Интернет-магазин
Лендинг - одностраничный сайт
Сайт-визитка
Сайт-портфолио

Проектирование

Прототип, UX-дизайн

Дизайн

UI-дизайн
Логотип

+54 911 2801-4950

info@space-base.net
+7 928 008-80-89

Web-сайты для успешного бизнеса

Web-сайты для успешного бизнеса

Главная Услуги Портфолио События Библиотека Контакты
+7 928 008-80-89 Меню
Политика в отношении обработки персональных данных © Copyright 2014 - | Space-Base

Лучшее время начать свой проект - Сейчас!

Выбраны опции:

Отправить сообщение на:

Telegram WhatsApp

Отправляя сообщение, вы даете свое согласие на
обработку песональных данных