Mailinglisten-Archive |
Hallo, benutze die SQL-Funktion LAST_INSERT_ID() in einem SELECT-Statement gleich nach Deinem Insert, die liefert dir was du brauchst. http://www.mysql.com/doc/en/example-AUTO_INCREMENT.html Thomas > -----Ursprüngliche Nachricht----- > Von: Tobias Daur [mailto:daur@so-nso.de] > Gesendet: Mittwoch, 30. Oktober 2002 10:15 > An: mysql-de@lists.4t2.com > Betreff: auto_increment-ID nach Anlegen eines Datensatzes auslesen > > > Hallo zusammen, > > Ich lege mit den Daten aus einem Formular einen neuen > Datensatz an. Die > ID wird von MySQL via auto_increment erzeugt. > Ich bekomme mit dem gleichen Formular auch eine Bilddatei und > möchte den > Dateinamen aus der ID und einem Suffix erzeugen. > > Nur: Woher bekomme ich die ID? > > Meine Lösungsansätze (die mich nicht befriedigen): > > a) Schätzen. Ich frage direkt nach dem Eintrag die höchste ID. > Nachteil: Wenn zwischen dem Eintragen und der ID-Abfrage > jemand anderes > einen DS geschrieben hat, stimmt die ID nicht. > Das könnte ich zwar abfangen, indem ich über eine boolesche Variable > zwischen Eintrag und Abfrage das Schreiben weiterer Datensätze > verhindere. Die Frage ist dann aber: Was macht das > PHP-Skript, das nicht > schreiben darf? Fehlermeldung? Warten? > > b) Seinlassen. Das Bild bekommt eine eigenständige eindeutige > Bildnummer > (in php mit uniqid + microtime + rand) und die Tabelle eine > zusätzliche > Spalte. > Nachteil: Unschön, IMHO. Dann kann ich eigentlich gleich auf > auto_increment verzichten und die ID selber generieren. > > Tja, hat mir jemand ein c) ? > > thx für Denkanstöße > > Tobias > > > > -- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive