2016-09-28 7 views
0

私は2つのテーブルを持っています。INSERTとINNER JOIN MYSQLの組み合わせ

business_id | name | linkto_category_id | business_category_description 

とカテゴリリスト今すぐ

business_category_id | business_category_description 

私は、対応する 'とのビジネス'内のすべてのエントリを選択したいを保持している別の「business_category」:一つは、そうのような構造のビジネス」です'business_category'テーブルの 'business_category_id'に等しい 'linkto_category_id'を入力し、 'business_category_description'を 'business'テーブルに挿入します。

これは私がこれまでに...

INSERT INTO business(business_category_description) 
(SELECT business_category.business_category_description, business_category.business_category_id, business.linkto_category_id 
FROM business 
INNER JOIN business_category 
ON business.linkto_category_id=business_category.business_category_id); 
+0

はこちらからトップの答えを使用します。 Business_category_descriptionだけが挿入された新しい行が挿入されます。 – Brody

答えて

0

は、一般的に、あなたは、内側には、別のテーブルに参加してアクセスすることができ、データを複製してはならないしているものです。あなたはビジネスを得るたびにカテゴリーから説明を取得するために内部結合を使用します。

データを正規化すると、データが古くなるのを防ぎ、保存するデータの量を最小限に抑えるために通常行われます。

linkto_category_idを使用すると、それぞれのビジネス行に大きな同一のテキストフィールドを格納しなくても、必要なときに説明を取得できます。

+0

はい、私はこれを理解しています。私はこれをやっているのは、古いデーターベースからこのデータをエクスポートし、これを使ってWordPressのカスタム・ポスト・タイプにインポートするためです。 –

関連する問題