Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql-Aktualisierungsmenge für vollständiges Bestellarray

Wahrscheinlich am besten, dies als einzelnes Stück SQL zu tun:-

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

Achten Sie darauf, dass Sie dies nicht einfach mehrmals wiederholen, ohne zu überprüfen, ob eine Bestellung nicht bereits zur Aktualisierung des Bestands verwendet wurde

Wenn Sie auf diese Weise 1000 Artikel in der Bestellung haben, ist dies eine einzige Abfrage. Eine Auswahl durchzuführen und dann die Ergebnisse zu durchlaufen, würde 10001 Abfragen erfordern.