Hallo zusammen,
folgendes Problem beschäftigt mich gerade:
In einer Kundenverwaltung bekommen alle Kunden, die noch keinen Vertrag unterschrieben haben, eine vorläufige Kundennummer. Diese lautet z.B. V 000001.
In der Datenbank wird diese Kundennummer aus kunde_prefix und kunde_nummer zusammengesetzt. kunde_nummer wird per auto_increment bereit gestellt und die beiden Felder zusammen ergeben den Primärschlüssel.
Unterschreibt der Kunde einen Vertrag, soll die vorläufige Kundennummer durch eine andere ersetzt werden. Diese enthält statt kunde_prefix V die Abkürzung des Standortes, z.B. OF.
Wenn ich jetzt ein Update auf diesen Datensatz mache und als kunde_prefix OF einfüge, setzt er mir leider nicht den nächsthöheren zu OF gehörenden auto_increment-Wert ein. Lasse ich kunde_nummer leer, setze es NULL oder füge eine 0 ein trägt er mir immer die Zahl 0 als kunde_nummer ein.
Hat jemand eine Idee, wie ich in diesem Fall auch bei UPDATE auf den auto_increment-Wert zurückgreifen kann? Ein Max(kunde_nummer)+1 wäre für mich wegen der RaceConditions nur eine Notlösung...
Danke im voraus und viele Grüße
Dan
folgendes Problem beschäftigt mich gerade:
In einer Kundenverwaltung bekommen alle Kunden, die noch keinen Vertrag unterschrieben haben, eine vorläufige Kundennummer. Diese lautet z.B. V 000001.
In der Datenbank wird diese Kundennummer aus kunde_prefix und kunde_nummer zusammengesetzt. kunde_nummer wird per auto_increment bereit gestellt und die beiden Felder zusammen ergeben den Primärschlüssel.
Unterschreibt der Kunde einen Vertrag, soll die vorläufige Kundennummer durch eine andere ersetzt werden. Diese enthält statt kunde_prefix V die Abkürzung des Standortes, z.B. OF.
Wenn ich jetzt ein Update auf diesen Datensatz mache und als kunde_prefix OF einfüge, setzt er mir leider nicht den nächsthöheren zu OF gehörenden auto_increment-Wert ein. Lasse ich kunde_nummer leer, setze es NULL oder füge eine 0 ein trägt er mir immer die Zahl 0 als kunde_nummer ein.
Hat jemand eine Idee, wie ich in diesem Fall auch bei UPDATE auf den auto_increment-Wert zurückgreifen kann? Ein Max(kunde_nummer)+1 wäre für mich wegen der RaceConditions nur eine Notlösung...
Danke im voraus und viele Grüße
Dan
Kommentar