Hi,
ich habe folgendes Problem:
In einer Java-Anwendung füge ich mehrere Statements zu einem
Batch Statement zusammen und feuer das an eine mysql DB ab.
Dabei wird ggf. an verschiedenen Stellen die LAST_INSERT_ID()
gebraucht, um bei einem INSERT-Statement einen Fremdschlüssel zu
setzen.
Das funktioniert beim ersten INSERT-Statement wunderbar,
danach, wenn allerdings mehrere Datensätze den gleichen Fremdschlüssel bekommen sollen, dann funktioniert das nicht,
weil sich die LAST_INSERT_ID() nach dem ersten INSERT geändert hat.
Meine Frage:
Gibt es die Möglichkeit die LAST_INSERT_ID() zwischenzuspeichern,
so dass sie von mehreren Folgestatements benutzt werden kann?
Aufgrund des Batch-Konstrukts ist eine anwendungsseitige Speicherung
der ID nicht möglich...
Das ganze nochmal in kurz (und hoffentlich verständlich), so wie
es vom Prinzip her funktionieren soll:
INSERT ..... ; SELECT LAST_INSERT_ID() AS lid; INSERT INTO bla ... VALUES (d,e, lid); INSERT INTO blabla... VALUES (f, g, lid)
(So funktioniert das natürlich nicht...)
Ich hoffe das war nicht zu umständlich erklärt :-/
Vielen Dank für Eure Hilfe!