Столбец MySQL auto_increment
поддерживает внутреннее число и всегда будет увеличивать его, даже после удаления. Если вам нужно заполнить пустое пространство, вам придется обрабатывать его самостоятельно в PHP, а не использовать ключевое слово auto_increment
в определении таблицы.
Откат до заполнения пустых идентификаторов строк может вызвать все виды трудностей, если у вас есть отношения с внешним ключом, и это действительно не рекомендуется.
auto_increment
можно сбросить с помощью оператора SQL, но это не рекомендуется, поскольку это приведет к ошибкам дублирования ключа.
-- Doing this will cause problems!
ALTER table AUTO_INCREMENT=12345;
EDIT
Чтобы обеспечить соблюдение ваших отношений с внешним ключом, как описано в комментариях, вы должны добавить в определение таблицы:
FOREIGN KEY (friendid) REFERENCES registration_table (id) ON DELETE SET NULL;
Введите правильные имена таблиц и столбцов. Теперь, когда пользователь удаляется из регистрации, его ассоциация друзей обнуляется. Если вам нужно повторно связаться с другим пользователем, это должно быть обработано с помощью PHP. mysql_insert_id()
больше не помогает.
Если вам нужно найти идентификатор с наибольшим номером в базе данных после удаления, чтобы связать его с друзьями, используйте следующее.
SELECT MAX(id) FROM registration_table;