mysql:3877
From: Tybalt of Capulet <Tybalt of Capulet <ice-man@xxxxxxxxxx>>
Date: Tue, 03 Jul 2001 18:24:08 +0900
Subject: [mysql 03877] auto_increment の値の取得について
神崎です。 現在auto_incrementで自動的に割り振られた値を得ようとして つまづいております。 下記のようなidがauto_incrementのテーブルが存在します。 create table A ( id INT(9) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, primary key (id) ) マニュアルの説明ではmysql_insert_id()は 「前のクエリによって AUTO_INCREMENT フィールドに生成された ID を返します。」 ということは下記のようなインサートを発行してからmysql_insert_id()を 実行するとこのインサートで割り振られたidを得ることができるのでしょうか? INSERT INTO A (name) VALUES('$name'); またちょっとひっかかるのが、アクセス過多で同時に複数インサートをしようとした時 mysql_insert_id()の値がずれてしまい同時に行った違うIDを取得してしまうことは 考えられるのでしょうか? 更にここで質問するのは場違いとは思いますがPHP4.0.5でこの処理を行っており、 下記のようにmysql_insert_id()を取得しようとしたのですができませんでした。 実際のmysql_insert_id()の使い方がわかっておりません。 $insid = mysql_fetch_array( mysql_query( "mysql_insert_id() as ins" ) ); <? echo $insid[ins] ?> どなたかおわかりの方ご教授いただけないでしょうか? _______________________________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 が反映されない?