mysql:4973
From: <s1atirvine@xxxxxxxxxx>
Date: Fri, 18 Jan 2002 15:07:29 +0900
Subject: [mysql 04973] Re: 複数テーブルにおけるデータの insert の方法
坂本です。 川合さん返答ありがとうございました。 > #業務としてこういうデータでいいかどうかはとにかくとして。 仰るとおり、業務向けのテーブル構造ではありませんね。 知り合いの方に、同じアドバイスをいただきました。 > #PHPではmysql_insert_idを使って取り出せばよいのかしらん? はい、"mysql_insert_id"を使用して取り出すことができました。 記載いただいた、ソースを参考にさせていただきます。 ありがとうございました。 On Thu, 17 Jan 2002 09:33:23 +0900 "KAWAI,Takanori" <GCD00051@xxxxxxxxxx> wrote: > 川合孝典です。 > > ----- Original Message ----- > From: <s1atirvine@xxxxxxxxxx> > To: <ml@xxxxxxxxxx> > Sent: Wednesday, January 16, 2002 1:43 PM > Subject: [mysql 04933] 複数テーブルにおけるデータの insertの方法 > > > (中略) > > 【質問】 > > 上記の様な状況において、顧客からの受注情報をinsertする場合 > (中略) > > [顧客情報テーブル],[受注情報テーブル]同時に、 > > insertできる方法は無いのだろうか? > > とも思っています。 > (以下略) > #業務としてこういうデータでいいかどうかはとにかくとして。 > > これに関しては > > 「別々に登録する以外方法はないよ!」 > でしょう。 > マニュアルのINSERTの構文を見ても > http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Reference.html#INSERT > > テーブル名は1つしか指定できませんしね。 > > mysqlユーティリティからであれば、以下のようなSQLが利用できる > でしょう。Perl/DBIでも同じSQLが使えますが、それよりは顧客 > テーブルのデータを取得した後、データベースハンドルの > $dbh->{'mysql_insertid'};を取っておいて使うでしょう。 > #PHPではmysql_insert_idを使って取り出せばよいのかしらん? > > create table tbl_customer ( > id bigint unsigned not null auto_increment primary key, > name varchar(30), > addr varchar(30) > ); > create table tbl_order ( > id bigint unsigned not null auto_increment primary key, > customer bigint unsigned, > item bigint unsigned, > qty integer unsigned); > > insert into tbl_customer values (null, 'NO1', 'ADDR1'); > insert into tbl_order values > (null, LAST_INSERT_ID(), 1, 1), > (null, LAST_INSERT_ID(), 2, 2), > (null, LAST_INSERT_ID(), 3, 3); > insert into tbl_customer values (null, 'NO2', 'ADDR2'); > insert into tbl_order values > (null, LAST_INSERT_ID(), 11, 1), > (null, LAST_INSERT_ID(), 12, 2); > > =================================================== > 川合 孝典 (Hippo2000) > DBI日本語メーリングリスト管理人、Kansai.pm所属 > kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx > http://member.nifty.ne.jp/hippo2000 > http://www.hippo2000.net/ > =================================================== _________________________________________________________ Do You Yahoo!? Get your free @xxxxxxxxxx address at http://mail.yahoo.com
4933 2002-01-16 13:43 [<s1atirvine@xxxxxxxx] 複数テーブルにおけるデータの insert の方法 4937 2002-01-17 09:33 ┗["KAWAI,Takanori" <GC] -> 4973 2002-01-18 15:07 ┗[<s1atirvine@xxxxxxxx]