Я думаю использовать $uniqueId = substr(md5(time() * mt_rand()),0,5);
генерировать уникальные идентификаторы для бронирования.
Но как насчет дублирования этого сгенерированного идентификатора? Что делать, если база данных уже имеет тот же идентификатор, который был сгенерирован этим? Сколько процентов там будет генерировать идентичные идентификаторы, если я буду использовать это?
С человеческой точки зрения, md5 не будет хорошим справочником по бронированию — например, было бы довольно неловко передавать по телефону.
Но с точки зрения разработки, вы, возможно, не хотите использовать прямое автоинкрементное увеличение, поскольку оно может выдавать информацию о размере бизнеса (небольшое число может означать очень мало клиентов и подрывать доверие клиентов).
Варианты включают в себя:
Использование элемента даты и чего-то, связанного с пользователем, для создания ссылки.
Такие как 2014/09/CUSTOMERSURNAME01
Использование элемента даты и случайного
Во всех вариантах быстрый вызов в БД для проверки уникальности даст вам уверенность, что вы никогда не создадите дубликат. Это не увеличит накладные расходы на проверку, и если вы получите дубликат, попробуйте еще раз. Вероятность повторной попытки будет очень низкой.
Других решений пока нет …