[前][次][番号順一覧][スレッド一覧]

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 が反映されない?