Hi,
Eine Nummer in einer Datenbank, die immer weiter hochgezählt wird? Oder gibt es eine bessere Möglichkeit? Was ist, wenn zwei Kunden gleichzeitig bestellen? Wie lässt sich hier die Gefahr umgehen, dass beide die Gleiche nummer zugewiesesn bekommen?
Ja - am besten in Einer MySQL-Tabelle für jeden Auftrag einen Eintrag eintragen.
Die nächste Nummer lässt sich z.B. feststellen, indem du die Aufträge sortiert nach Auftragsnummer rückwärts ausgeben lässt und dann den ersten nimmst und 1 dazu addierst.
Das kann MySql selber.. einfach nen Primary Key erstellen und auf auto_increment setzen.
Beispiel:
Tabelle d1000Kunden
Spalte1: ID1000 als Primary Key und auto_increment
Spalte2: Name
usw usw
ID1000 wird automatisch hochgezählt.
Tabelle d2000Auftrag
Spalte1: ID2000 als Primary Key und auto_increment
Spalte2: ID1000 (z.b. als BIGINT)
Spalte3: Datum als Datetime
usw usw
der Vorteil in der Konstruktion.. Bestellungen sind einfach einem Kunden zuzuordnen:
(SELECT ID2000, Datum usw FROM d2000Auftrag WHERE ID1000=(SELECT ID1000 FROM d1000Kunden WHERE Name=... usw))
Ausserdem wird die Datenbank kleiner gehalten, als bei jedem Bestellvorgang die Kundendaten zu speichern.