Калининград+7.962.2626.555

Получить следующий идентификатор AUTO_INCREMENT

15.02.2012

Бывают случаи, когда нужно знать идентификатор, который получит следующая запись с AUTO_INCREMENT. Для этого выполняются следующие действия:

$sql    = "SHOW TABLE STATUS LIKE 'tablename'";
$result = mysql_query($sql);
$array  = mysql_fetch_array($result);

$ai = $array['Auto_increment'];

Вообще, команда SHOW TABLE STATUS создана для получения информации по таблицам. Синтаксис такой:

SHOW TABLE STATUS [FROM db_name] [LIKE table_name]

Результатом выполнения будет одна или несколько записей (в зависимости от количества выбранных таблиц) с такими параметрами по каждой таблице:

Name Имя таблицы
Engine Движок или тип таблицы (например, MyISAM)
Version Версия для Engine
Row_format Формат строк (Fixed, Dynamic, Compressed).
Rows Количество строк в таблице
Avg_row_length Средняя длина строки
Data_length Размер таблицы на диске в байтах
Max_data_length Максимальный размер таблицы в байтах
Index_length Размер индексного файла на диске в байтах
Data_free Количество неиспользуемых байтов. Для них есть OPTIMIZE TABLE
Auto_increment См. начало статьи
Create_time Время создания таблицы
Update_time Время последнего изменения таблицы
Check_time Время последней проверки таблицы командой CHECK TABLE
Collation Кодировка таблицы
Create_options Дополнительные параметры, которые использовались при вызове команды CREATE TABLE
Comment Комментарии указанные при создании таблицы