Моя цель - вставлять новый и уникальный (уникальный очень важный) номер в таблицу MySQL на сервере каждый раз, когда происходит событие на компьютере пользователя с использованием ajax.
Итак, серверная часть по событию пользователя делает это (используя php):
- Находит максимальное значение из столбца в БД,
- Добавляет 10 к максимальному значению,
- это новое и уникальное (больше максимального) значение, которое мы вставляем в таблицу.
Будут ли все числа уникальными и будут выглядеть как 1, 11, 21, 31, если они начинаются с 1? Мне любопытно, если вставка в таблицу завершится до того, как она начнет выполнять очередную очередь, и число будет как 1, 11, 21, 21, 31, 41?
Если теоретически это работает так (упорядочено по времени)
- найти максимальное значение из столбца для первого пользователя
- найти максимальное значение из столбца для второго пользователя (оно будет таким же)
- вставить (максимум + 10) для первого пользователя в ту же таблицу
- вставить (максимум + 10) для второго пользователя в ту же таблицу (она будет одинаковой), тогда результаты будут одинаковыми, и 1 значение можно будет повторить дважды или даже больше ...
Итак, вопрос таков: все числа будут на 100% уникальными?
В зависимости от этого я должен выбрать, какой алгоритм использовать для создания уникальных чисел.
Добавлено:
Можно ли быть уверенным с этим алгоритмом и без использования автоинкрементов? Автоинкремент используется для другого столбца. Отверстия между номерами в порядке. Единственное требование состоит в том, что числа должны быть разными, но с некоторой «дельтой», которая больше одного. Извините, я не заметил об этом в своем вопросе. Спасибо.