我知道这不是那么复杂,但我不记得该怎么做。
我只需知道下一次自动增量。
$result = mysql_query("
SHOW TABLE STATUS LIKE Media
");
$data = mysql_fetch_assoc($result);
$next_increment = $data['Auto_increment'];
...但我不会为我工作,我做错了什么?
答案 0 :(得分:16)
$result = mysql_query("
SHOW TABLE STATUS LIKE 'Media'
");
$data = mysql_fetch_assoc($result);
$next_increment = $data['Auto_increment'];
表格的名称需要用单引号括起来:'table_name'
所以它现在运作得很好。
:)
答案 1 :(得分:8)
查询应如下所示:
SHOW TABLE STATUS WHERE `Name` = 'Media';
答案 2 :(得分:2)
另一种方式,但很慢,是:
SELECT AUTO_INCREMENT FROM information_schema.`TABLES` T where TABLE_SCHEMA = 'myScheme' and TABLE_NAME = 'Media';
information_schema主要用于从许多方案中获取数据。
答案 3 :(得分:0)
您也可以使用此功能
function getNextValue(){
$query = "SHOW TABLE STATUS LIKE 'vendors'";
dbconnect();
$results=mysql_query($query);
if(mysql_errno() != 0) {
$result['count'] = -1;
$result['error'] = "Error: ".mysql_error();
} else {
$result['count'] = mysql_num_rows($results);
for($counter=0;$counter<$result['count'];$counter++) {
$result[$counter] = mysql_fetch_assoc($results);
}
}
return $result[0]['Auto_increment'];
mysql_close();
}
答案 4 :(得分:-2)
如果您需要知道 next auto_increment,那么99%的人可能做错了。而不是获取下一个auto_increment,您应该只执行您要执行的插入操作,然后使用SELECT LAST_INSERT_ID()
从该插入中获取auto_increment值。
如果您尝试猜测下一个auto_increment值并且您有多个用户同时执行此操作,则您经常会得到错误的值。