Mailinglisten-Archive |
Sebastian Mendel schrieb: > Lutz Zetzsche wrote: > >>Hi Jörn, >> >>Joern Grube schrieb: >> >>>Ich generiere eine neue Kundennummer (unique in der Datenbank) aus einem >>>Kürzel, dem Datum und einem fortlaufenden Wert. Dazu hole ich mir die >>>letzte Kundennummer aus der Datenbank, zerlege die, zähle eins dazu und >>>setze sie wieder zusammen: >>> >>>$kdnrLast = explode("-", $row['all_ident_user']); >>>$kdnrLast = $kdnrLast[4]; >>>$kdnrLast = $kdnrLast + 1; >>>$kdnrDat = date("Y-m-d"); >>>$kuerzel = "MA"; >>>$kdnr = $kuerzel."-".$kdnrDat."-".$kdnrLast; >>> >>>Dann schreib ich das mit allem anderen (Pw, Id) in die Datenbank. Das >>>funktioniert bis zehn, danach kommt folgendes: >>> >>>Antwort: >>>Duplicate entry 'MA-2005-07-05-10' for key 2 >>>Fehlercode: >>>1062 >>> >>>Das es das Ding mit zehn hinten schon gibt, ist klar, aber er soll doch >>>eines addieren. Warum macht er das bis zehn und dann nicht mehr? >>>Die Spalte ist vom Typ >>>varchar(30) NOT NULL default '' >>>An der Länge kann es also auch nicht liegen. Ich hab nicht den mindesten >>>Schimmer, warum das so ist. Jemand von Euch vielleicht? >> >>steht denn auch in $row der zuletzt eingefügte Datensatz? > > > genau, bzw wie holst du denn den letzten Datensatz?? Mit einem ganz normalen SELECT ... ..... Auf Hinterkopf hau ... Das wars, ich hab ORDER BY all_ident_user DESC gemacht, da ist dann natürlich der Datensatz mit 9 hinten der letzte. Hab jetzt ORDER BY all_ident_id DESC gemacht und jetzt funzt es. Manchmal ist man aber auch wie vernagelt :) Sorry und besten Dank. MfG Jörn Grube
php::bar PHP Wiki - Listenarchive