У меня есть существующая база данных с использованием PHP, MySQL и phpMyAdmin.
Когда пользователи становятся участниками моего веб-сайта, мне нужно, чтобы система создала для них уникальный номер участника, используя пятизначный номер. например, 83773. Я предполагаю, что это похоже на генерацию случайного пароля, за исключением того, что мне нужны только числа для моих участников. Этот идентификационный номер должен быть уникальным для каждого участника.
Могу ли я установить для первичного ключа auto_increment в моей пользовательской таблице значение, начинающееся с 10000, а затем автоматически увеличивать его каждый раз, когда член регистрируется?
Кроме того, существует ли максимальное число, до которого может подняться идентификационный номер первичного ключа?
Является ли это надежным и безопасным способом использования идентификационного номера первичного ключа в качестве номера участника?
источник
Ответы:
Есть возможные шаги, чтобы включить автоматическое приращение для столбца. Я предполагаю, что версия phpMyAdmin - 3.5.5, но не уверен.
Щелкните Таблица > вкладка Структура > Под действием Щелкните Основной (установить как основной), щелкните Изменить во всплывающем окне, прокрутите влево и проверьте A_I . Также убедитесь, что вы выбрали « Нет» для параметра « По умолчанию».
источник
Query error: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
В phpMyAdmin перейдите к нужной таблице и щелкните вкладку «Операции». Слева под опциями таблицы вам будет разрешено установить текущее значение AUTO_INCREMENT.
источник
Просто запустите простой запрос MySQL и установите для числа автоинкремента все, что захотите.
Что касается максимума, насколько мне известно, его нет и нет возможности ограничить такое количество.
Это совершенно безопасно, и это обычная практика - установить номер идентификатора в качестве основного ключа, автоматически увеличивая int. Существуют альтернативы, такие как использование PHP для генерации номеров членства для вас в определенном формате, а затем проверка того, что номер не существует до вставки, однако лично для меня я бы выбрал значение основного идентификатора auto_inc.
источник
источник
В phpMyAdmin, если вы настроили поле в своей таблице для автоматического увеличения, а затем вставили строку и установили значение этого поля на 10000, он продолжится оттуда.
источник
@AmitKB, Ваша процедура правильная. Хотя эта ошибка
Ошибка запроса: # 1075 - Неверное определение таблицы; может быть только один автоматический столбец, и он должен быть определен как ключ
можно решить, сначала пометив поле как ключевое (используя значок ключа с меткой primary), если у вас нет другого ключа, это может не сработать.
источник
Вы не можете установить максимальное значение (кроме выбора типа данных, который не может содержать большие числа, но нет таких, которые имеют требуемый вами предел). Вы можете проверить это с помощью LAST_INSERT_ID () после вставки, чтобы получить идентификатор вновь созданного члена, и, если он слишком большой, обработайте его в коде вашего приложения (например, удалите и отклоните член).
Почему вам нужен верхний предел?
источник
Это связано с таблицами
wp_terms
,wp_termmeta
иwp_term_taxonomy
, все идентификаторы которых не установлены наAUTO_INCREMENT
Для этого перейдите в phpmyadmin, щелкните базу данных,
wp_terms
таблицу, щелкните вкладку структуры, справа вы увидите вкладку с именемA_I(AUTO_INCREMENT)
, отметьте ее и сохраните (вы делаете это только для первого варианта, еслиwp_term
вы только делаю это дляterm_id
).Сделайте то же самое для,
wp_termmeta
иwp_term_taxonomy
это решит проблему.источник
(а) Просто щелкните свою базу данных, выберите свою таблицу. Щелкните «Операции». В разделе «Параметры таблицы» измените значение AUTO_INCREMENT на желаемое, в данном случае: 10000 нажмите «Перейти». (См. Изображение в приложении)
(b) Кроме того, вы можете запустить команду SQL на вкладке SQL после выбора таблицы. Просто введите «ALTER TABLE имя_таблицы AUTO_INCREMENT = 10000;» затем нажмите "Перейти". Это оно!! НАСТРОЙКА ЗНАЧЕНИЯ АВТОМАТИЧЕСКОГО УВЕЛИЧЕНИЯ изображение (a)
НАСТРОЙКА ЗНАЧЕНИЯ АВТОМАТИЧЕСКОГО УВЕЛИЧЕНИЯ изображение (B)
источник