sql >> Databasteknik >  >> RDS >> Mysql

mysql uppdatering qty på komplett order array

Förmodligen bäst att göra detta som en enda del av SQL:-

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

Se upp att du inte bara kör om detta flera gånger utan att på något sätt kontrollera att en beställning inte redan har använts för att uppdatera lagret

Om du gör det på detta sätt, om du hade 1000 artiklar på beställningen så är det en enda fråga. Att göra ett urval och sedan gå runt resultaten skulle kräva 10 001 frågor.



  1. Genomför automatiskt en maximal databastabellstorlek genom att ta bort gamla rader

  2. För att förstå frågor i PHP PG-förberedda uttalanden

  3. Hur man får en lista över alla kontrollbegränsningar i SQL Server Database - SQL Server / TSQL Tutorial Del 85

  4. Hur får man en lista över databaser?