Друзья, я пришел к вам, чтобы узнать, кто подскажет, как узнать auto_increment таблицы.
Допустим, у вас id_campo
есть 30 значений, но после удаления примерно 6 строк оно останется равным id_campo (24)
, но auto_increment равен 31.
Есть ли способ получить это auto_increment(31)
с помощью SQL-запроса без необходимости создавать другую таблицу, в которой сохраняется последнее значение auto_increment основной таблицы?
Вы можете запустить следующий запрос.
Если вы хотите получить последнее значение автоматически увеличивающегося поля, а не значение, которое находится в памяти в information_schemes, было бы лучше использовать запрос, который делает то же самое
InnoDB
.Данный:
r_categoria
id_categoria
Мы запускаем этот запрос:
Запрос вернет идентификатор последнего существующего значения.
Если вы хотите получить значение предстоящего нового значения, нужно просто добавить к нему единицу:
В этом случае этот запрос будет более производительным, чем необходимость чтения
INFORMATION.SCHEMES
, он действует непосредственно на таблицу.Согласно документации , именно так InnoDB инициализирует автоинкрементный счетчик:
Эта операция НЕ ФУНКЦИОНАЛЬНА.
Получается, что если запись удаляется в таблице, то для движка как такового она ее не учитывает и продолжает с тем ID, которому она должна следовать, то тогда этот метод у нас не сработает.