みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

DBでAUTO_INCREMENTのフィールドの最新の数値を知るには

PHP+MySQLで開発しています。

自らがDBテーブルに書き込んだレコードの、AUTO_INCREMENT指定してある項目に設定された数値を取得したいのですが、どのようにすればいいのでしょうか。

DB指定
CREATE TABLE test(
no INT NOT NULL AUTO_INCREMENT,
comment TEXT,
PRIMARY KEY(no)
);

PHP書き込み
$sql = "INSERT INTO test(comment)VALUES('いろは')";
$results = mysql_query($sql,$dbid);

このとき、テーブルtestのフィールドnoに設定された数値を知るために、
今はわざわざSQL
select MAX(no) from test
を発行しています。

これですと、確実性に欠けますし、冗長な気がします。
他に何か効率的な方法があるような気がしますので、
質問いたしました。

よろしくお願い申し上げます。

投稿日時 - 2006-09-21 16:53:03

QNo.2421951

暇なときに回答ください

質問者が選んだベストアンサー

手元に環境がないんで確認はしてないのですが・・・
mysql_insert_id関数
で取得できるかと思います。

参考URL:http://php.s3.to/man/function.mysql-insert-id.html

投稿日時 - 2006-09-21 17:03:11

補足

試してみましたところ、期待通りの結果が得られました。
ありがとうございました。

投稿日時 - 2006-09-22 14:04:44

お礼

ありがとうございます。
書籍で調べてみましたところ、
この関数で期待通りの結果が得られそうです。
お礼申し上げます。

投稿日時 - 2006-09-22 10:05:48

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)