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

mysql:8183

From: UNO Shintaro <UNO Shintaro <uno@xxxxxxxxxx>>
Date: Tue, 02 Sep 2003 18:01:38 +0900
Subject: [mysql 08183] Re: auto_increment について

>smp_seqはauto_incrementなのですが、次の値はいくつか取得したいのですが
>”SELECT”文でどのようにすればよいのでしょうか?

その「次の値」を得たい理由は何ですか?
関連する複数テーブルへの同時INSERTという使い方のためでしたら、
1つINSERTを実行した直後にLAST_INSERT_ID()関数で生成された値を取得して、
次のINSERTでその値を使うのが定石です。
たとえば、header_tableの「header_id」がauto incrementのprimary keyで、
detail_tableにheader_tableとの関連を示すための「header_id」がある場合、
こんな感じ。

INSERT INTO header_table
 (header_value) VALUES ( ... );

INSERT INTO detail_table
  (header_id, detail_value) VALUES (LAST_INSERT_ID(), ... );

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno@xxxxxxxxxx
http://www.venus.dti.ne.jp/~uno/

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

      8182 2003-09-02 17:30 ["いとうかつひこ" <ka] auto_increment について                 
->    8183 2003-09-02 18:01 ┗[UNO Shintaro <uno@xx]                                       
      8184 2003-09-03 10:42  ┗["いとうかつひこ" <ka]