Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql met à jour la quantité sur le tableau de commande complet

Il est probablement préférable de le faire en un seul morceau de SQL :-

UPDATE stock a INNER JOIN order b ON a.part = b.part 
SET a.available = a.available - b.qty
WHERE  b.invoice` = '$order'

Faites attention à ne pas recommencer plusieurs fois sans avoir un moyen de vérifier qu'une commande n'a pas déjà été utilisée pour mettre à jour le stock

En procédant de cette façon, si vous aviez 1000 articles sur la commande, il s'agit d'une seule requête. Faire une sélection puis faire une boucle autour des résultats nécessiterait 10001 requêtes.