0

シーケンス番号として AUTO_INCREAMENTED (UNSIGNED INT) として主キーを持つ MySQL テーブルがあります。このテーブルに新しい行を挿入するたびに、挿入された AUTO_INCREAMENTED UNSIGNED INT を示すユーザーに確認を与えたいと思います。

現在、行を挿入した後、最後に挿入された行を取得するために SELECT クエリを実行しています。INSERT の直後 (SELECT なし) に、挿入された値を取得するよりスマートな方法はありますか?

4

3 に答える 3

2

これを使って

SELECT LAST_INSERT_ID()

またはPHP スクリプトのmysqli_insert_id() 。mysqli の代わりにPDOを使用することもできます

于 2013-08-13T06:35:59.270 に答える
2

試してみてくださいmysql_insert_id()

echo mysql_insert_id();

詳細については、これを参照してくださいmysql_insert_id()

また、プレフィックス で名前が付けられたすべての関数を提供する拡張機能全体が現在公式に非推奨であり、将来削除されるためmysql_*、ステートメントを避けるようにしてください。ext/mysql PHPmysql_*PHP v5.5.0

より適切に使用できる他の 2 つのMySQL拡張機能があります:MySQLiPDO_MySQLで、どちらも の代わりに使用できますext/mysql

そのmysqli_*中で次のようになります

echo mysqli_insert_id();
于 2013-08-13T06:36:14.667 に答える