Zitat von
chrisw:
SELECT LAST_INSERT_ID()
Das sollte bei
MySQL klappen... Aufruf nachdem in Delphi der Datensatz geschrieben wurde. Unter Delphi32 wäre das z.B. im AfterPost Ereignis.
Zitat von
chrisw:
SELECT * FROM table_name WHERE id_field IS NULL
Das klappt nicht. Rufst Du den Befehl vor dem Speichern auf, kriegst du die nicht die ID des Datensatzen, der ja neu angelegt wird. Rufst du den Befehl nach dem Speichern auf, so ist das id_field sicherlich nicht null... Und selbst wenn du ein "order by id_field desc limit 0,1" hinzufügst, kriegst du zwar den zuletzt eingefügte ID zurück, aber es garantiert Dir keiner, dass der Datensatz auch von DIR hinzugefügt wurde. Schliesslich hängen normalerweise noch mehrere Clients an der gleichen Datenbank und können unter Umständen gleiche Aktionen ausführen.
Zitat von
chrisw:
SELECT @@IDENTITY
Das wäre die
MSSQL Variante, aber nicht ausführbar für
MySQL. Entspricht im Grunde einem Select LAST_INSERT_ID()