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]