我试图使用php在mysql中获取下一个自动增量数。我试过这种方式:
<?
$q=mysql_query("SELECT * FROM `users`");
$next_auto_inc=mysql_num_rows($q)+1;
?>
但是,当删除任何行时,这不起作用。我希望你明白我的意思。我怎么能用php做到这一点?
答案 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;