如何使用php在mysql中生成下一个自动增量数?

时间:2012-11-14 04:39:45

标签: php mysql

我试图使用php在mysql中获取下一个自动增量数。我试过这种方式:

<?
$q=mysql_query("SELECT * FROM `users`");
$next_auto_inc=mysql_num_rows($q)+1;
?>

但是,当删除任何行时,这不起作用。我希望你明白我的意思。我怎么能用php做到这一点?

2 个答案:

答案 0 :(得分:2)

您无法获取表数据。您必须使用php获取表状态以获取自动增量编号。而且,你可以这样做:

$q = mysql_query("SHOW TABLE STATUS LIKE 'test'");
$row = mysql_fetch_assoc($q);
$next_increment = $row['Auto_increment'];
echo "next increment number: [$next_increment]";

希望这会有所帮助:)

[Source]

答案 1 :(得分:1)

假设您有user_id列作为主键,您也可以尝试:

$q = mysql_query('SELECT MAX(user_id) as user_id from `users`');
$row = mysql_fetch_assoc($q);
$next_auto_inc = $row['user_id'] + 1;