私は2つのテーブルを持っています
テーブル名:Attributes
attribute_id | attribute_name
1 attr_name_1
2 attr_name_2
3 attr_name_1
4 attr_name_2
テーブル名:Products
product_id | product_name | attribute_id
1 prod_name_1 1
2 prod_name_2 2
3 prod_name_3 3
4 prod_name_4 4
ご覧attribute_id
のとおり、表には の代わりにProducts
次の ID があります。(1,2,3,4)
(1,2,1,2)
問題は tableにあります。つまり、異なる ID を持つAttributes
繰り返し値 ( ) があるため、次のようにします。attribute_names
- テーブルから、繰り返しの 1 つの ID を選択するには
Attributes
Products
その「選択された」 IDでテーブルを更新します(attribute_id
テーブルに同じ名前がある場合のみAttributes
)- その後、繰り返し値をテーブルから削除します
Attributes
魔女はテーブルで使用されませんProducts
出力:
テーブル名:Attributes
attribute_id | attribute_name
1 attr_name_1
2 attr_name_2
テーブル名:Products
product_id | product_name | attribute_id
1 prod_name_1 1
2 prod_name_2 2
3 prod_name_3 1
4 prod_name_4 2
SQLFiddleのデモ
ノート:
この問題を手動で修正する代わりにSQLを使用すると、非常に役立ちます。