Автоматическое увеличение в phpmyadmin

У меня есть существующая база данных с использованием PHP, MySQL и phpMyAdmin.

Когда пользователи становятся участниками моего веб-сайта, мне нужна система, чтобы создать для них уникальный номер членства, используя пятизначное число. например, 83773. Я думаю, это похоже на создание случайного пароля, за исключением того, что мне нужны только номера для моих членов. Этот идентификационный номер должен быть уникальным для каждого участника.

Можно ли установить первичный ключ в auto_increment в моей пользовательской таблице и настроить его на 10000, а затем автоматически увеличивать каждый раз, когда член регистрируется?

Кроме того, существует ли максимальное число, которое будет иметь идентификатор первичного ключа?

Является ли это надежным и безопасным способом использования идентификационного номера первичного ключа в качестве номера членства?

Ответ 1

Есть шаги для автоматического включения столбца. Я предполагаю, что версия phpMyAdmin 3.5.5, но не уверена.

Нажмите вкладку Таблица > Структура > В Действие нажмите Изменить в окне ppoup, прокрутите влево и проверьте A_I. Также убедитесь, что вы выбрали Нет для По умолчанию enter image description here

Ответ 2

В phpMyAdmin перейдите к рассматриваемой таблице и перейдите на вкладку "Операции". Слева в разделе "Параметры таблицы" вам будет разрешено установить текущее значение AUTO_INCREMENT.

Ответ 3

Просто запустите простой запрос MySQL и установите номер автоматического увеличения в нужное вам положение.

ALTER TABLE `table_name` AUTO_INCREMENT=10000

В терминах максимума, насколько мне известно, нет ни одного, и нет способа ограничить это число.

Совершенно безопасно и обычная практика устанавливать идентификационный номер в качестве первичного ключа, автоматически увеличивая int. Существуют альтернативы, такие как использование PHP для генерации номеров членов для вас в определенном формате, а затем проверка номера не существует до вставки, однако для меня лично я бы пошел с основным значением id auto_inc,

Ответ 4

  • На вкладке "Структура" таблицы
  • Нажмите на карандаш переменной, в которой вы хотите auto_increment
  • в разделе "Экстра" выберите "auto_increment"
  • затем перейдите на вкладку "Операции" вашей таблицы.
  • В разделе "Параметры таблицы" → auto_increment type → 10000

Ответ 5

В phpMyAdmin, если вы настраиваете поле в своей таблице для автоматического увеличения, а затем вставляете строку и устанавливаете ее значение в 10000, она будет продолжена оттуда.

Ответ 6

@AmitKB, Ваша процедура верна. Хотя эта ошибка

Ошибка запроса: # 1075 - неверное определение таблицы; может быть только один автоматический столбец, и он должен быть определен как ключ

можно решить, сначала пометив поле как ключ (с помощью значка ключа с меткой primary), если у вас нет другого ключа, тогда он может не работать.

Ответ 7

Вы не можете установить максимальное значение (кроме выбора типа данных, который не может содержать большие числа, но нет тех, у кого есть ограничение, о котором вы просите). Вы можете проверить это с помощью LAST_INSERT_ID() после вставки, чтобы получить идентификатор вновь созданного члена, и если он слишком большой, обрабатывает его в коде приложения (например, удаляет и отклоняет член).

Зачем нужен верхний предел?

Ответ 8

Это происходит из-за wp_terms, wp_termmeta и wp_term_taxonomy, у которых все их ID не установлены в AUTO_INCREMENT

Для этого перейдите в phpmyadmin, щелкните по базе данных концерна, таблице wp_terms, щелкните по вкладке структуры, справа вы увидите вкладку с именем A_I(AUTO_INCREMENT), проверьте ее и сохраните (вы делаете это только для первого варианта, в случае wp_term вы делаете это только для term_id).

Сделайте то же самое для wp_termmeta и wp_term_taxonomy которые wp_term_taxonomy проблему.