mysql:4933
From: <s1atirvine@xxxxxxxxxx>
Date: Wed, 16 Jan 2002 13:43:13 +0900
Subject: [mysql 04933] 複数テーブルにおけるデータの insert の方法
初めまして、坂本と申します [複数テーブルにおけるデータのinsertの方法」に関して 質問をさせていただきます。 お手数ですが、ご教授のほどよろしくお願いいたします。 Linux(RedHat 6.2J)にて mySQL-3.23.46 + PHP-3.0.18 + Apache-1.3.20 を使用し、Web+DB環境を勉強中です。 単一テーブルでのmySQLの勉強も終わり ある程度実践的な物として、 複数テーブルで顧客情報を保有する、DBを構築してみようと思っています。 テーブル設計としては、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [顧客情報テーブル] : 顧客ID(主キー)と住所などの顧客の基本情報 顧客IDは auto increment [商品テーブル] : 商品ID(主キー)と商品名,単価などの商品の基本情報 [受注情報テーブル] : 受注ID(主キー),顧客ID,商品ID,受注個数 の情報 の3つ ただし、[受注情報テーブル]は 顧客情報テーブル の 顧客ID(テーブルの主キー) 商品テーブル の 商品ID(テーブルの主キー) にリンクされ3つのテーブルは関連づけられている状態 また、一人の顧客が複数の商品をオーダーした場合 受注情報テーブルは 顧客ID | 商品ID | 受注個数 0001 | 001 | 1 0001 | 002 | 3 と言う形で、情報が登録される - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - といった形で、テーブル設計を考えております。 【質問】 上記の様な状況において、顧客からの受注情報をinsertする場合 通常は、 まずは[顧客情報テーブル]に顧客情報を登録する。 次に、auto incrementにより割り振られた、顧客IDを参照し [受注情報テーブル]を登録する といった流れになると思います。 しかし、素人考えではありますが [顧客情報テーブル],[受注情報テーブル]同時に、 insertできる方法は無いのだろうか? とも思っています。 ご教授いただきたい点としては、 「そもそも、テーブル設計が間違っているよ!」 「同時にinsertできるよ!」 「別々に登録する以外方法はないよ!」 など、できれば具体的なSQL文も併せて教えていただければ と思います。 また、この様なSQLのテーブル設計を行う上で 有用な書籍がありましたらば、書籍名を教えていただけたらと思います。 (無論Webでも問題ありません) # 書店にて「SQLの設計方法〜〜」などと言う物を見てみたのですが # どれが有用な物か判断つきかねた物でしたので 後、http://www.mysql.gr.jp/ の「MySQL Books」のリンクが 「No such file.」となっています、ご報告まで 以上、宜しくお願いいたします。 - - - - - - - - - - - - - - - - - - - 坂本 修一 (Shiuichi SAKAMOTO) - s1atirvine@xxxxxxxxxx - - - - - - - - - - - - - - - - - - _________________________________________________________ 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]