2012-05-02 5 views
1

Когда я вставляю запись в таблицу, значение поля auto_increment возможно 1000, я знаю, что есть счетчик auto_increment, определяющий значение.mysql как вывести значение счетчика auto_increment

Я использую команду:

SHOW VARIABLES LIKE 'auto_incre%' 

он выдает:

auto_increment_increment 1 
auto_increment_offset 1 

, так что я просто хочу знать, если есть способ, я могу использовать, чтобы проверить значение auto_increment счетчика. Спасибо за любую помощь.

ответ

4
SHOW TABLE STATUS LIKE 'table_name' 

Дает столбец как AUTO_INCREMENT. Это следующее значение (часто id), которое будет добавлено в INSERT.

Пример:

$str_table = 'users'; 

$query = mysql_query("SHOW TABLE STATUS LIKE '{$str_table}'"); 
$row = mysql_fetch_assoc($query); 

$int_increment = $row['Auto_increment']; 
+0

год, спасибо – wangzhiju

1

Значение таблицы показано в таблице DDL. Попробуйте SHOW CREATE TABLE yourTableName

Пример:

CREATE TABLE `test`.`auto` (
`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`NAME` CHAR(1) NOT NULL 
) ENGINE = InnoDB; 

INSERT INTO `test`.`auto` (`ID`, `NAME`) VALUES (NULL, 'A'); 
INSERT INTO `test`.`auto` (`ID`, `NAME`) VALUES (NULL, 'B'); 

SHOW CREATE TABLE test.auto; 

CREATE TABLE `auto` (
    `ID` int(10) unsigned NOT NULL auto_increment, 
    `NAME` char(1) collate utf8_bin NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin 
+0

год, спасибо, получил. – wangzhiju

+2

Я считаю, что решение Робин более элегантно. – Konerak

Смежные вопросы