java - 関連テーブルを変更する方法
PHP中文网
PHP中文网 2017-05-18 10:44:26
0
3
717

属性テーブル attr
製品テーブル item
関連付けテーブル item_attr

属性テーブルのフィールド
cat_idtitle

商品テーブルのフィールド
item_idtitle

商品テーブルのテーブルフィールド
item_attr_iditem_idattr_id

たとえば、属性のレコードが 5 つあり、cat_id は 1、2、3、4、5 です。
製品を追加し、属性 2 と 5 を選択します

関連付けテーブルは 2 つのレコードになるはずです。ここで変更する場合は、たとえば 5 を削除して 4 を追加します。通常はこれに当てはまります。

次に、最初に元の古い attr_id を取得し、次に 1 つずつ検索して新しい attr_id が存在するかどうかを確認します。存在しない場合は、削除して新しい ## を再利用します。 #attr_id 1 つずつ検索して attr_id があるかどうかを確認し、スキップされた場合は を追加します。

もっと良い方法はないでしょうか? 最初は、すべて削除してから新しいものを追加するという考えでした。これは非科学的ではありませんか?

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(3)
某草草

関連付けテーブルは在庫テーブルである必要があります。 1 つの製品 + 1 つの属性で在庫を定義します。上で述べたのは、走査して比較した後、変更があれば修正し、変更がなければ削除するということです。これは正しいです。

いいねを押す +0
Peter_Zhu

後で言ったことは科学的ですが、前に言ったことは複雑すぎて非科学的です。
まず関連付けテーブルの item_id に基づいてすべてを削除し、次にすべてを追加します。
item_id = 1 の item_attr から削除;
item_attr (item_id, attr_id) の値に挿入します (1, 1), (1, 2), ( 1、2); これが最も効率的です

いいねを押す +0
小葫芦

それらをすべて削除し、最新のものに基づいてすべてを追加します。シンプルなロジックで最高の効率

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート