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]