我试图在 mysql 中使用 php 获取下一个自动增量编号。我试过这样:
<?
$q=mysql_query("SELECT * FROM `users`");
$next_auto_inc=mysql_num_rows($q)+1;
?>
但是,当任何行被删除时,这不起作用。我希望你明白我的意思。我怎样才能使用 php 做到这一点?
你不能这样做来获取表数据。您必须获取表状态才能使用 php.ini 获取自动增量编号。而且,您可以执行以下操作:
$q = mysql_query("SHOW TABLE STATUS LIKE 'test'");
$row = mysql_fetch_assoc($q);
$next_increment = $row['Auto_increment'];
echo "next increment number: [$next_increment]";
希望这可以帮助 :)
[来源]
假设您将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;