Генерация ссылочного идентификатора PHP / MySQL - PullRequest
0 голосов
/ 14 сентября 2009

В PHP / MySQL, как лучше всего создать уникальный ссылочный идентификатор, чтобы, когда человек отправляет свою информацию в базу данных, он получал ссылочный номер для выполнения своего запроса?

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

Ответы [ 3 ]

1 голос
/ 14 сентября 2009

Я бы, вероятно, пошел с полем auto_increment, которое у вас уже есть: это решение, которое отлично работает - возможно, объединяет его с чем-то, чтобы получить, например, "CMD123456", который является более "читаемым человеком" ».

Чтобы получить последнее сгенерированное auto_increment для текущего активного подключения к БД, вы можете использовать функцию mysql_insert_id - при условии, что вы работаете с семейством функций mysql_*.

Просто позвоните ему после того, как вы выполнили запрос вставки, и он получит значение auto_increment, сгенерированное / для этого.


При использовании mysqli_* вам понадобится mysqli_insert_id, а при использовании PDO вы будете работать с PDO::lastInsertId.

1 голос
/ 14 сентября 2009

Если вы хотите использовать значение auto_increment, вы можете выполнить select last_insert_id() после вставки.

last_insert_id () - это функция mysql, которая возвращает значение автоинкремента из последней вставки.

Как уже отмечалось, некоторые библиотеки mysql предоставляют свой собственный метод для получения последнего идентификатора вставки

1 голос
/ 14 сентября 2009

Комментарий rexem верен; тогда, если вы используете основные команды mysql в PHP, вы можете использовать

$id = mysql_insert_id()

для получения идентификатора последней строки вставленной строки (на основе первичного ключа этой таблицы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...