Strafi
Erfahrenes Mitglied
Hallo,
folgendes Problem:
Ich habe eine Tabelle 'rechnungen' deren ID natürlich auto_increment ist. Nun möchte ich noch ein Rechnungsnummer die sich fortlaufend gestalten soll. Sicher die ID ist fortlaufend, aber manche Kunden möchten jedes Jahr das wieder Zurücksetzen und das geht dann mit der ID natürlich nicht.
Dazu kommt noch das es passieren kann das mehre Rechnung von unterschiedlichen Mitarbeitern erstellt werden können, das heißt wenn ich vorher mit einem SELECT schaue welche Rechnungsnummer ist und dann um eins erweitere und dann die Rechnung anlege, kann Theoretisch schon eine andere Rechnung ausgestellt worden sein und schon kommen 2 Rechnungsnummern vor.
Table Lock ist für mich auch keine Option weil zu viele Mitarbeiter an so einer Software zu gleichen Zeit arbeiten können. Es muss also gleich beim Insert passieren. Die Rechnung kann auch schon mal angelegt werden, das sie ein Status besitzt und wenn der auf erledig geändert wird, wird auch der Rechnungeintrag in der DB gelockt.
Was habt ihr für Ideen? Ich arbeite mit PHP, MySQL und den Mapper MySQLi.
Grüße
folgendes Problem:
Ich habe eine Tabelle 'rechnungen' deren ID natürlich auto_increment ist. Nun möchte ich noch ein Rechnungsnummer die sich fortlaufend gestalten soll. Sicher die ID ist fortlaufend, aber manche Kunden möchten jedes Jahr das wieder Zurücksetzen und das geht dann mit der ID natürlich nicht.
Dazu kommt noch das es passieren kann das mehre Rechnung von unterschiedlichen Mitarbeitern erstellt werden können, das heißt wenn ich vorher mit einem SELECT schaue welche Rechnungsnummer ist und dann um eins erweitere und dann die Rechnung anlege, kann Theoretisch schon eine andere Rechnung ausgestellt worden sein und schon kommen 2 Rechnungsnummern vor.
Table Lock ist für mich auch keine Option weil zu viele Mitarbeiter an so einer Software zu gleichen Zeit arbeiten können. Es muss also gleich beim Insert passieren. Die Rechnung kann auch schon mal angelegt werden, das sie ein Status besitzt und wenn der auf erledig geändert wird, wird auch der Rechnungeintrag in der DB gelockt.
Was habt ihr für Ideen? Ich arbeite mit PHP, MySQL und den Mapper MySQLi.
Grüße
Zuletzt bearbeitet: