mysql:3880
From: Tybalt of Capulet <Tybalt of Capulet <ice-man@xxxxxxxxxx>>
Date: Wed, 04 Jul 2001 00:53:00 +0900
Subject: [mysql 03880] Re: auto_increment の値の取得について
神崎です。 > > マニュアルの説明ではmysql_insert_id()は > > 追加で、MySQLのマニュアルのLAST_INSERT_ID関数の説明と mysql_insert_id()とLAST_INSERT_IDの説明じっくり読みました。 過去ログも読みました。 が、違いがさっぱりわかりません。 理解力なくてすいません・・・ Aというテーブルに対してインサート文を発行してからmysql_insert_id()を得る までの間に他の違う人がAテーブルに同じインサート文を発行した場合、 auto_incrementフィールド値がmysql_insert_id()を実行することにより 最初にインサート文を発行したidが返ってくるのか、もしくは後のインサートで 発行したidが返ってくるのかがいまいち見えてきません。 マニュアルを読んだ私の理解ですとmysql_insert_id()を使うような 気がするのですが確実ではありません。 過去ログにも「2278」には > LAST_INSERT_ID() は、レコードを INSERT した時に、そのレコードの > AUTO_INCREMENT フィールドに設定された値を知りたい時に使用します。 とLAST_INSERT_ID()を使うとありますし、「1708」には > mysql_db_query("somedatabase","insert into q(id) values(null)"); > echo "Your access ID is :".mysql_insert_id(); というようにmysql_insert_id()を使うとあります。 どっちが本当なのかわかりません。 申し訳ございませんが教えていただけないでしょうか? > > $insid = mysql_fetch_array( mysql_query( "mysql_insert_id() as ins" ) ); > > <? echo $insid[ins] ?> > > PHPのマニュアルのmysql_insert_id()の説明 > を読んでみてください。 すいません、マンモス本に書いてありました。 下記のようにしたところ取得できました。 <? $insid = mysql_insert_id(); ?> ________________________________R_y_u_____ 神崎 隆 Mail:ice-man@xxxxxxxxxx _____K_a_n_z_a_k_i________________________
3877 2001-07-03 18:24 [Tybalt of Capulet <i] auto_increment の値の取得について 3878 2001-07-03 19:17 ┗[Akihiko Shinohara <s] -> 3880 2001-07-04 00:53 ┗[Tybalt of Capulet <i] 3881 2001-07-04 10:11 ┗[Akihiko Shinohara <s] 3883 2001-07-04 13:01 ┗[Tybalt of Capulet <i] 3884 2001-07-04 13:32 ┣[Akihiko Shinohara <s] 3892 2001-07-04 23:46 ┗[とみたまさひろ <tomm] 3897 2001-07-05 02:47 ┗[Tybalt of Capulet <i] 3912 2001-07-05 16:24 ┗[とみたまさひろ <tomm] 3913 2001-07-05 16:54 ┗[Tybalt of Capulet <i] 3914 2001-07-05 21:04 ┣[とみたまさひろ <tomm] 3918 2001-07-06 15:09 ┗[ken <kenn@xxxxxxxxxx] my.cnf で max_allowed_packet が反映されない?