Hallo,
ich stehe vor dem Problem, dass ich eine fortlaufende Buchungsnummer erzeugen muss.
Meine Überlegung bisher:
Die Nummern werden in einer MySQL-Tabelle "config" gespeichert.
Ich erstelle eine Klasse als Singleton, dort gibt es eine Funktion getBuchungsnummer, die folgendes macht:
1. Abfrage der akutellen Buchungsnummer aus Tabelle "config"
2. Buchungsnummer inkrementieren
3. Buchungsnummer in Tabelle "config" speichern
4. Buchungsnummer zurückgeben
So weit, so gut. Doch was passiert, wenn zwei Buchungen gleichzeitig erstellt werden? Dann könnte es ja sein, dass getBuchungsnummer auch gleichzeitig ausgeführt wird und bei beiden Schritt 1 vor dem nächsten Schritt. Das würde bedeuten, ich bekomme zweimal dieselbe Nummer zurück.
Wie kann ich das verhindern? Oder reicht es, dass die Klasse Singleton ist?
Danke und viele Grüße
Wonko