属性テーブル attr
製品テーブル item
関連付けテーブル item_attr
属性テーブルのフィールドcat_id
、title
商品テーブルのフィールドitem_id
、title
商品テーブルのテーブルフィールドitem_attr_id
、item_id
、attr_id
たとえば、属性のレコードが 5 つあり、cat_id
は 1、2、3、4、5 です。
製品を追加し、属性 2 と 5 を選択します
関連付けテーブルは 2 つのレコードになるはずです。ここで変更する場合は、たとえば 5 を削除して 4 を追加します。通常はこれに当てはまります。
次に、最初に元の古い attr_id
を取得し、次に 1 つずつ検索して新しい attr_id
が存在するかどうかを確認します。存在しない場合は、削除して新しい ## を再利用します。 #attr_id 1 つずつ検索して
attr_id があるかどうかを確認し、スキップされた場合は
を追加します。
関連付けテーブルは在庫テーブルである必要があります。 1 つの製品 + 1 つの属性で在庫を定義します。上で述べたのは、走査して比較した後、変更があれば修正し、変更がなければ削除するということです。これは正しいです。
後で言ったことは科学的ですが、前に言ったことは複雑すぎて非科学的です。
まず関連付けテーブルの item_id に基づいてすべてを削除し、次にすべてを追加します。
item_id = 1 の item_attr から削除;
item_attr (item_id, attr_id) の値に挿入します (1, 1), (1, 2), ( 1、2); これが最も効率的です
それらをすべて削除し、最新のものに基づいてすべてを追加します。シンプルなロジックで最高の効率