2012-05-02 46 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。這是將在INSERT上添加的下一個值(通常是id)。

例子:

$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