sql >> Database >  >> RDS >> Mysql

mysql-update aantal op volledige orderarray

Waarschijnlijk het beste om dit als een enkel stuk SQL te doen:-

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

Pas op dat u dit niet zomaar meerdere keren herhaalt zonder op een of andere manier te controleren of een bestelling niet al is gebruikt om de voorraad bij te werken

Als je het op deze manier doet, als je 1000 artikelen op de bestelling had, dan is het een enkele vraag. Als u een selectie uitvoert en vervolgens de resultaten doorloopt, zijn 10001 zoekopdrachten vereist.



  1. Mysql Ruimtelijke index ongebruikt

  2. Buffer te klein voor conversie van CLOB naar CHAR of BLOB naar RAW

  3. Waarom ongeldige conversie aangevraagd FOUTCODE:17132?

  4. MYSQL INSERT of UPDATE IF