私はphpを使用してmysqlで次の自動増分番号をフェッチしようとしていました。私はこの方法を試しました:
<?
$q=mysql_query("SELECT * FROM `users`");
$next_auto_inc=mysql_num_rows($q)+1;
?>
ただし、これは行が削除された場合は機能しません。私が言っていることをあなたが理解したことを願っています。PHPを使用してこれを行うにはどうすればよいですか?
テーブルデータをフェッチすることはできません。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]";
お役に立てれば :)
[ソース]
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;