Как настроить уникальный идентификатор при отбрасывании строки - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть таблица, в которой хранятся пользователи. Я создавал новые учетные записи для проверки функциональности регистрации и входа, но когда я удаляю строку, идентификатор продолжает увеличиваться (устанавливается на автоматическое увеличение), поэтому сейчас у меня есть идентификаторы 1,2 и 9. Когда это только несколько, это не имеет большого значения, но со временем я чувствую, что это может быть проблемой. Каков наилучший способ справиться с этим? Должен ли я искать пустые идентификаторы и принудительно вводить новых пользователей в этот слот или когда пользователь удаляет свою учетную запись, я должен настроить таблицу? Есть ли простая встроенная функция, чтобы справиться с этим? Я чувствую, что это должно быть достаточно распространенной проблемой, чтобы что-то для этого было.

1 Ответ

0 голосов
/ 09 февраля 2020

Если вы действительно хотите это сделать (, но не делаете это ), вы можете сделать это:

SET @max_id = (SELECT MAX(`id`) + 1 FROM `mytable` );
SET @sql = CONCAT('ALTER TABLE `mytable` AUTO_INCREMENT = ', @max_id);
PREPARE stmt FROM @sql;
EXECUTE stmt;

Он будет искать максимальный идентификатор из вашей таблицы и устанавливать автоматическое приращение к этому идентификатору

Источник : Установите значение AUTO_INCREMENT через переменную в MySql

...