cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68573
Mitglieder online: 0
Gäste online: 1
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: Absenden und gleichzeittig id auslesen

Thread: Absenden und gleichzeittig id auslesen

Tags: datenbank , absenden , ID

26.06.2009 21:52 Uhr

 

Status: offline
HiHo,

Ich arbeite gerade an einem Script. So weit ist alles fertig. Jetzt sollte nur direkt nach dem absenden die id angezeigt werden die in die Datenbank atomatisch eingetragen wird. Geht dies auch einfacher als direkt nach dem absenden die id per select auszulsen?

Gruß
Gradin
26.06.2009 21:59 Uhr

 

Status: offline
MySQL-Referenzhandbuch sagt dazu folgendes:

Zitat:
LAST_INSERT_ID(), LAST_INSERT_ID(expr)

Gibt den ersten automatisch erzeugten Wert zurück, der für eine AUTO_INCREMENT-Spalte durch die aktuelle INSERT- oder UPDATE-Anweisung eingestellt wurde, die eine solche Spalte modifiziert hat.

mysql> SELECT LAST_INSERT_ID();
-> 195

Die erzeugte Kennung wird auf dem Server verbindungsspezifisch gehandhabt: Der von der Funktion an einen bestimmten Client zurückgegebene Wert ist der erste AUTO_INCREMENT-Wert, der für die zuletzt abgesetzte Anweisung, die eine AUTO_INCREMENT-Spalte betraf, von diesem Client erzeugt wurde. Dieser Wert darf nicht von anderen Clients bearbeitet werden, auch wenn diese selbst AUTO_INCREMENT-Werte erzeugen. Dieses Verhalten gewährleistet, dass jeder Client seine eigene Kennung abrufen kann, ohne die Aktivitäten anderer Clients berücksichtigen oder Sperren setzen bzw. Transaktionen verwenden zu müssen.

Der Wert von LAST_INSERT_ID() wird nicht geändert, wenn Sie die AUTO_INCREMENT-Spalte eines Datensatzes auf einen „nichtmagischen“ Wert (d. h. einen Wert, der nicht NULL und nicht 0 ist) setzen.


Die Methode mit dem SELECT kann fehlerhafte Daten zurückliefern, wenn quasi gleichzeitig mehrere Einfügeoperationen durchgeführt werden (z.B. Script wird 2 mal gleichzeitig ausgeführt) und es dadurch zu einer Race Condition kommt. Bei LAST_INSERT_ID() kann das nicht passieren, weil es Verbindungsspezifisch ist.
--> Man sollte auf jeden Fall LAST_INSERT_ID() bevorzugen.
___________________________
Butterfly Effect
It has been said that something as small as the flutter of a butterfly's wing can ultimately cause a typhoon halfway around the world.
- Chaos Theory
26.06.2009 23:05 Uhr

 

Status: offline
Ah, Besten Dak es klappt
27.06.2009 00:04 Uhr

 

Status: offline
http://de2.php.net/mysql_insert_id
Da musste noch nichma ein Query für machen.  :wink: 
___________________________
Visit my Website and my Blog
<?php if(((int)date("Y"))<2010) { $any_software->all_ok(); } else { $any_software->massive_fail(); } ?>
Ähnliche Threads Forum Ähnlichkeitsgrad
 [gelöst] [PHP]+[MySQL] - Zeichen ersetzen nach DB-Auslesen Website & Webprogrammierung 1
 Suche: Event-Script mit Städteverzeichniss, Umkreissuche etc. Website & Webprogrammierung 1
 MySQL: 2 Datensätze auslesen, zwischen denen 1 bestimmter Wert ist Website & Webprogrammierung 1
 Such-Algorithmen für Texte in Datenbank Website & Webprogrammierung 1
 Access Control Website & Webprogrammierung 1
 Datenbankgestützer Counter: unbekannter Fehler Website & Webprogrammierung 1
 Formular ohne Input type submit, gehts mit Javascript? Website & Webprogrammierung 1
nach obennach oben

Copyright © 2010 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - s.Oliver Onlineshop für Schuhe
ANEXIA - PHP Entwicklung - Dockers- Think Schuhe - der eigene Weg - Paul Green Damenschuhe - Bequeme Geox Schuhe - Web-Entwicklung - Schueler.CC @ nexem - SMSjobs