Бывают случаи, когда нужно знать идентификатор, который получит следующая запись с 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 | Комментарии указанные при создании таблицы |