- ベストアンサー
SQLのキーの取り扱いについて
LinuxでMySQLの4.0.20を使っています。 auto_numberを用いたインサートを行った場合、通常デフォルトでも 自動的にオートナンバーが割り当てられるが、それを重複しないキーとして 使っているのですが、さきほど登録したオートナンバーを取得することは可能でしょうか? 最後に登録されたオート番号を取得するスマートな方法が知りたいです。 Aがauto_number testテーブル A B C 1 あ 10 2 い 20 3 う 30 この表を見れば、次の自体は4であろうと想像できるが、データを追加した直後に そのオートナンバーが何かわかる方法があれば知りたいです。 通常インサートする場合は固有のキーも追加するので、わざわざ取得するまでもないですが、特定できるキーがオートナンバーなので、それを取得する方法が知りたいです。 select max(A) from test; で取得すれば良いのでしょうか? ※4.1.4ではujisで日本語を追加しようとしてもうまくいきませんでした。バグが直ってなさそうです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
LAST_INSERT_ID関数で、そのコネクション内で最後にAUTO_INCREMENTフィールドに生成されたIDが取得できます。 例 ----------------------------------------------- SELECT LAST_INSERT_ID(); --------------------------------------------------
その他の回答 (1)
- RAPTsong
- ベストアンサー率42% (74/175)
それでいいと思います。 select count(*) from test; か select max(A) from test; でよろしいかと。