У меня есть таблица с автоматически увеличивающимся первичным ключом, но теперь мне нужно изменить это, чтобы первичные ключи не были настолько угадываемыми, когда кто-то печатал последовательные номера. Чтобы создать случайный первичный ключ, я думаю, что я собираюсь создать таблицу, содержащую все 6-значные числа, перетасованные в случайный порядок и введенные с 1 по n.MySQL с использованием «случайного» номера в качестве первичного ключа
Вопрос в том, не меняя все мои существующие запросы, как я могу использовать ссылку между автоматически увеличивающимся ключом и 6-значным номером по соответствующему индексу во второй таблице?
Поскольку в эту таблицу требуется только один запрос, я хотел бы изменить это, чтобы все было просто. Я хотел бы запросить следующий номер во второй таблице и вставить его в столбец первичного ключа в первой таблице. Проблема, которую я предвижу, состоит в том, что два запроса могут ударить по серверу одновременно и могут возвращать тот же 6-значный номер из второй таблицы. Каковы мои возможности для решения этой проблемы в MySQL?
использует 'UUID()' вариант? –
@ gloomy.penguin См. Комментарий ниже – Josh
Используйте GUID, как описано здесь http://stackoverflow.com/questions/412341/how-should-i-store-guid-in-mysql-tables –