Я часами чищу голову, чтобы решить следующую ситуацию:
Несколько HTML-форм на веб-странице идентифицируются по идентификатору.Пользователи могут создавать формы на стороне клиента и заполнять данные.Как я могу гарантировать, что идентификатор формы, сгенерированной пользователем, является уникальным и что в процессе сохранения не произошло никакого коллизии, поскольку этот же идентификатор был сгенерирован клиентом другого пользователя.
Проблемы/ questions:
- Случайная функция на стороне клиента может возвращать идентичные идентификаторы на двух клиентах
- Просмотр таблицы SQL для свободного идентификатора не решит проблему
- Автоинкремент нового идентификатора усложнит весь процесс, потому что идентификатор DOM и идентификатор SQL отличаются, поэтому мы подходим к следующему пункту:
- «левое соединение» для объединения dom_id и user_id для идентификации форм в базе данныхвыглядит как убийца производительности, потому что я ожидаю, что эти таблицы будут огромными
Вопрос (сформированный настолько просто, насколько я могу):
Есть ли способ, которымклиент может создать / получить уникальный идентификатор, который позже будет использоваться в качестве первичного ключа для записи в базе данных без каких-либо коллизий?Какова лучшая практика?
Мое текущее решение (плохое):
Нет уникальных идентификаторов для идентификации форм.Всегда комбинация через левое соединение для идентификации форм, созданных конкретным пользователем.Но что произойдет, если пользователь скажет: удалите мою учетную запись (и мой user_id), но оставьте данные на сервере.Я бы потерял идентификатор пользователя, и этот запрос больше не мог работать ...
Мне очень жаль, что я не смог объяснить это по-другому.Но я надеюсь, что кто-то понял, с чем я столкнулся, и мог бы дать мне хотя бы подсказку
СПАСИБО ОЧЕНЬ МНОГО!