Heim  >  Fragen und Antworten  >  Hauptteil

java – So ändern Sie Assoziationstabellen allgemein

Attributtabelle attr
商品表 item
关联表 item_attr

Attributtabellenfelder
cat_idtitle

Produkttabellenfelder
item_idtitle

Produkttabellenfelder
item_attr_iditem_idattr_id

Zum Beispiel gibt es 5 Datensätze mit Attributen, cat_idsind 1, 2, 3, 4 und 5.
Fügen Sie ein Produkt hinzu und wählen Sie die Attribute 2 und 5 aus

Dann sollte die Zuordnungstabelle aus zwei Datensätzen bestehen, z. B. indem Sie 5 entfernen und 4 hinzufügen. Dies ist normalerweise die Vorgehensweise.

Ich bekomme jetzt zuerst das alte Original. attr_id,一个一个去查找看新 attr_id 有没有,如果没有就删除,再循环新attr_id一个一个查找就的 attr_idIst etwas drin? Wenn es übersprungen wird, wenn nicht, fügen Sie es hinzu

Gibt es einen besseren Weg? Zuerst war meine Idee, sie alle zu löschen und dann neue hinzuzufügen

PHP中文网PHP中文网2711 Tage vor689

Antworte allen(3)Ich werde antworten

  • 某草草

    某草草2017-05-18 10:46:26

    关联表应该就是库存表。一个商品+一个属性,定义一个库存。你上面说的遍历之后,比对之后,有变动就修改,没有就删除,这个是对的。

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-05-18 10:46:26

    你后面说的是科学的,前面讲的太复杂,那才不科学。
    关联表中先根据item_id全部删除,再全部添加
    delete from item_attr where item_id = 1;
    insert into item_attr (item_id、attr_id) values (1, 1), (1, 2), (1, 2);
    这种效率最高

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-18 10:46:26

    全部删除,再根据最新的全部添加。逻辑简单,效率最好

    Antwort
    0
  • StornierenAntwort