PHP+MYSQLで登録したレコードに振られるIDを取得する方法は?


テーブルAにデータをinsertした際に、割り振られるIDを取得したいと思っています。IDはauto_incrementにしているintです。
用途は、データを登録した後に、そのデータの詳細ページへのリダイレクトをさせるために、IDを使います。

登録前にシーケンスから割り振られるであろうIDを取得することを考えましたが、ほぼ同時に登録があった場合に大丈夫なのか心配です。

どうすればいいのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/11/29 14:55:26
  • 終了:2006/11/29 21:11:42

ベストアンサー

id:bonlife No.2

回答回数421ベストアンサー獲得回数752006/11/29 15:26:13

ポイント29pt

横から失礼いたします。

MySQLのMLにて、似たようなやり取りがありました。

またマニュアルにも以下のような記述があります。

最後に生成された ID は、接続ごとにサーバに保持されます。他の接続を使用するクライアントによって変更されることはありません。

参考になれば幸いです。

id:dingding

まさしく同じ悩みだったので、とてもためになりました。

とても納得できました

2006/11/29 21:10:12

その他の回答(2件)

id:monkey_punch No.1

小社長回答回数44ベストアンサー獲得回数52006/11/29 15:04:01

ポイント25pt

mysql_insert_idという関数で

直前にINSERTされたIDを取得できますよ。

http://dev.mysql.com/doc/refman/4.1/ja/mysql-insert-id.html

id:dingding

ありがとうございます。

インサート;

mysql_insert_idをselect;

でこの行の間に他の人が登録していないかどうかは何かロックをかけたりしなくてもいいのでしょうか?

2006/11/29 15:08:01
id:bonlife No.2

回答回数421ベストアンサー獲得回数752006/11/29 15:26:13ここでベストアンサー

ポイント29pt

横から失礼いたします。

MySQLのMLにて、似たようなやり取りがありました。

またマニュアルにも以下のような記述があります。

最後に生成された ID は、接続ごとにサーバに保持されます。他の接続を使用するクライアントによって変更されることはありません。

参考になれば幸いです。

id:dingding

まさしく同じ悩みだったので、とてもためになりました。

とても納得できました

2006/11/29 21:10:12
id:kurukuru-neko No.3

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/11/29 15:54:40

ポイント26pt

自動で番号を割り振る場合の動作について解説が

以下のURLにあります。

接続毎に管理していので同時に処理しても大丈夫

LAST_INSERT_IDの解説

http://dev.mysql.com/doc/refman/4.1/ja/miscellaneous-functions.h...

auto_incrementを定義注意点

http://dev.mysql.com/doc/refman/4.1/ja/example-auto-increment.ht...

id:dingding

ありがとうございました。

2006/11/29 21:10:56

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません