人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

●質問者: dingding
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL PHP ケン データ リダイレクト
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 小社長
●25ポイント

mysql_insert_idという関数で

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

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

◎質問者からの返答

ありがとうございます。

インサート;

mysql_insert_idをselect;

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


2 ●
●29ポイント ベストアンサー

横から失礼いたします。

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

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

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

参考になれば幸いです。

◎質問者からの返答

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

とても納得できました


3 ● kurukuru-neko
●26ポイント

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

以下の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...

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ