Maison > Questions et réponses > le corps du texte
Table attributaire attr
商品表 item
关联表 item_attr
Champs de la table attributairecat_id
、title
Champs du tableau des produitsitem_id
、title
Champs du tableau des produitsitem_attr_id
、item_id
、attr_id
Par exemple, il y a 5 enregistrements d'attributs, cat_id
sont 1, 2, 3, 4 et 5.
Ajoutez un produit et sélectionnez les attributs 2 et 5
Ensuite, la table d'association doit contenir deux enregistrements. Maintenant, si vous souhaitez la modifier, par exemple, supprimez 5 et ajoutez 4, c'est généralement la façon de la gérer
Je reçois d'abord l'ancien original attr_id
,一个一个去查找看新 attr_id
有没有,如果没有就删除,再循环新attr_id
一个一个查找就的 attr_id
Y a-t-il dedans s'il est ignoré, sinon, ajoutez-le
Y a-t-il une meilleure façon ? Au début, mon idée était de tous les supprimer d’abord, puis d’en ajouter de nouveaux. N’est-ce pas non scientifique ?
某草草2017-05-18 10:46:26
La table d'association doit être la table d'inventaire. Un produit + un attribut définit un inventaire. Ce que vous avez dit ci-dessus, c'est qu'après avoir parcouru et comparé, s'il y a des changements, modifiez-les, et s'il n'y a aucun changement, supprimez-les. C'est correct.
天蓬老师2017-05-18 10:46:26
Ce que vous avez dit plus tard est scientifique, mais ce que vous avez dit avant est trop compliqué, donc ce n'est pas scientifique.
Supprimez d'abord tout en fonction de item_id dans la table d'association, puis ajoutez tout
delete de item_attr où item_id = 1;
insérez dans item_attr (item_id, attr_id) les valeurs (1, 1), (1, 2), ( 1, 2);
C'est le plus efficace
高洛峰2017-05-18 10:46:26
Supprimez-les tous et ajoutez-les tous en fonction des derniers. Logique simple et meilleure efficacité