私は、mysql 用に 2 つのテーブルを持つことを考えていました。1 つはログイン情報の保存用で、もう 1 つは配送先住所用です。それは従来の方法ですか、それともすべてが 1 つのテーブルに格納されますか?
2つのテーブルの場合...テーブルAからテーブルBに列を自動的にコピーして、同じIDを参照して配送先住所を取得できるようにする方法はありますか...
私は、mysql 用に 2 つのテーブルを持つことを考えていました。1 つはログイン情報の保存用で、もう 1 つは配送先住所用です。それは従来の方法ですか、それともすべてが 1 つのテーブルに格納されますか?
2つのテーブルの場合...テーブルAからテーブルBに列を自動的にコピーして、同じIDを参照して配送先住所を取得できるようにする方法はありますか...
単一のアドレスで、毎回更新される場合は、次のような単一のテーブルに含めることができます
**Customer**
customer_id [pkey]
customer_name
login_id
password
shipping_address
一方、単一の顧客のすべての配送先住所を (複数回の訪問にわたって) 保存する場合は、別のテーブル customer_shipping_address を用意することをお勧めします。
**Customer**
customer_id [pkey]
customer_name
login_id
password
**Customer_Shipping_Address**
customer_id [fkey to customer]
shipping_address
これは、1 つのテーブルまたは 2 つのテーブルの使用に関する質問に対する私の回答です。この決定は、多くの要因に依存します。ただし、2 つの別々のテーブルを使用することをお勧めします。ログイン情報は、出荷情報と比較して非常に頻繁に取得するものであるためです。すべての情報を 1 つのテーブルに格納すると、テーブルのサイズが巨大になり、ユーザーのログイン情報が必要になるたびに、この巨大なテーブルにクエリを実行する必要があります。
2つのテーブルを使用する方が良い方法だと思います。その後、配送を行いたいときに参加してください。そのためのSQLは次のようになります。
SELECT
table1.id, table2.id, table2.somethingelse, table1.somethingels
FROM
table1 INNER JOIN table2
ON table1.foreignkey = table2.primarykey
WHERE
(some conditions is true)
上記のコードは、配送ページ自体で実行する必要があります。