シーケンス番号として AUTO_INCREAMENTED (UNSIGNED INT) として主キーを持つ MySQL テーブルがあります。このテーブルに新しい行を挿入するたびに、挿入された AUTO_INCREAMENTED UNSIGNED INT を示すユーザーに確認を与えたいと思います。
現在、行を挿入した後、最後に挿入された行を取得するために SELECT クエリを実行しています。INSERT の直後 (SELECT なし) に、挿入された値を取得するよりスマートな方法はありますか?
シーケンス番号として AUTO_INCREAMENTED (UNSIGNED INT) として主キーを持つ MySQL テーブルがあります。このテーブルに新しい行を挿入するたびに、挿入された AUTO_INCREAMENTED UNSIGNED INT を示すユーザーに確認を与えたいと思います。
現在、行を挿入した後、最後に挿入された行を取得するために SELECT クエリを実行しています。INSERT の直後 (SELECT なし) に、挿入された値を取得するよりスマートな方法はありますか?
試してみてくださいmysql_insert_id()
echo mysql_insert_id();
詳細については、これを参照してくださいmysql_insert_id()
また、プレフィックス で名前が付けられたすべての関数を提供する拡張機能全体が現在公式に非推奨であり、将来削除されるためmysql_*、ステートメントを避けるようにしてください。ext/mysql PHPmysql_*PHP v5.5.0
より適切に使用できる他の 2 つのMySQL拡張機能があります:MySQLiとPDO_MySQLで、どちらも の代わりに使用できますext/mysql。
そのmysqli_*中で次のようになります
echo mysqli_insert_id();