La chose la plus importante à prendre en compte lors de l'insertion de données dans MySQL est d'éviter l'ajout répété de données. L'article suivant vous présente principalement les informations pertinentes sur la façon dont MYSQL empêche l'ajout répété lors de l'ajout d'un panier. Le code est présenté de manière très détaillée. Les amis qui en ont besoin peuvent s'y référer.
Avant-propos
Récemment, pour des raisons professionnelles, je travaillais sur le paiement des commandes de panier APP. Un bug a été soulevé par le testeur, Lorsque le clic pour ajouter au panier était relativement rapide, le même produit apparaissait deux fois dans le panier
Car lors de l'ajout au panier, il y a deux étapes. La première étape consiste d'abord à déterminer si. à ajouter au panier. Vérifiez si le produit dans le panier est déjà dans le panier. Si c'est le cas, ajoutez-en un à la quantité d'origine. S'il n'y est pas, rebranchez-le
Parce que le. deux étapes ne sont pas des opérations atomiques, semble-t-il. Il n'y a pas grand chose à dire sur les problèmes de sécurité multithread. Venez suivre l'éditeur pour voir le processus de solution détaillé.
L'insertion MySQL a une opération plus avancée
Exemple de code :
INSERT INTO t_xs_shopping_cart ( user_id, shop_id, commodity_id, quantity ) VALUES (71, 67, 140201057403511024, 1) ON DUPLICATE KEY UPDATE quantity = quantity + 1
Lorsque la contrainte de clé unique prendra effet, l'instruction de mise à jour sera exécutée et la quantité sera augmentée de 1
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!