Hallo zusammen!
ich habe eine Tabelle tab1 in der ein feld wert ist.
Dieser code wird ausgeführt, wenn jemand seinen Warenkorb abschickt.
Es soll dann die nächste Auftragsnummer gelesen werden, und sofort um eins erhöht werden.
Nun muss folgendes passiert sein:
zwei user haben die gleiche Auftragsnummer bekommen.
USER a bestellt und führt Select-Statement aus.
Noch bevor USER a das Update-Statement ausführt, bestellt User b und führt das Select-Statement aus und bekommt dadurch die gleiche Auftragsnummer.
bzw. wie kann man diesen Fall verhindern ?
Gruß jogi
ich habe eine Tabelle tab1 in der ein feld wert ist.
Dieser code wird ausgeführt, wenn jemand seinen Warenkorb abschickt.
Es soll dann die nächste Auftragsnummer gelesen werden, und sofort um eins erhöht werden.
PHP-Code:
Select wert from tab1 WHERE name = 'wertfeld' FOR UPDATE
$aufnr = wert;
Update tab1 SET wert=wert+1 WHERE name = 'wertfeld';
zwei user haben die gleiche Auftragsnummer bekommen.
USER a bestellt und führt Select-Statement aus.
Noch bevor USER a das Update-Statement ausführt, bestellt User b und führt das Select-Statement aus und bekommt dadurch die gleiche Auftragsnummer.
bzw. wie kann man diesen Fall verhindern ?
Gruß jogi
Kommentar