sql >> Database teknologi >  >> RDS >> Mysql

mysql opdatering qty på komplet ordre array

Det er nok bedst at gøre dette som et enkelt stykke SQL:-

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

Pas på, at du ikke bare gentager dette flere gange uden en måde at kontrollere, at en ordre ikke allerede er blevet brugt til at opdatere lagerbeholdningen

Hvis du gør det på denne måde, hvis du havde 1000 varer på ordren, er det en enkelt forespørgsel. At foretage en udvælgelse og derefter gå rundt om resultaterne ville kræve 10001 forespørgsler.



  1. MySQL - Count og GroupBy

  2. Sådan installeres og konfigureres MaxScale til MariaDB

  3. Vil du vælge alle kolonner, der starter med XXX, ved hjælp af et jokertegn?

  4. EXP() Eksempler i SQL Server