AUTO_INCREMENT

SUp99

Neuer Benutzer
Beiträge
1
Hallo ich bin ziemlich neu bei SQL und finde leider keine brauchbare Lösung im Netz.
Mein Problem:

Ich habe zB 3 Tabellen indem der Primary Key von 2 Tabellen AUTO_INCREMENT ist und gleichzeitig
Fremdschlüssel in der 3. Tabelle ist. Wie bekomme ich die letzten erzeugten AUTO_INCREMENT's aus
den Tabellen in die Dritte. Mit dem Befehl LAST_INSERT_ID() bekomme ich ja nur die letzte, brauche aber beide.

Ich habe dafür eine vierte Tabelle erzeugt und dort die Werte gespeichert und dann immer nach INSERTS aus den Ersten Tabellen ein UPDATE mit dem aktuellen LAST_INSERT's in die vierte Tabelle gespeichert.
Somit hat die vierte Tabelle zB den Wert X und Y.

Jetzt möchte ich in die dritte Tabelle Werte einsetzen inklusive den Werten X und Y, aber nicht nur die Werte.

Könnt Ihr mir helfen das Problem zu lösen und benötige ich dafür überhaupt eine vierte Tabelle??


SKIZZE:

TABELLE 1
TAB1 INT NOT NULL AUTO_INCREMENT (PK)
...

TABELLE2
TAB2 INT NOT NULL AUTO_INCREMENT (PK)
...

TABELLE3
TAB3 INT NOT NULL (PK)
...
TAB1.TAB1 (FK)
TAB2.TAB2 (FK)




Vielen Dank!
 
Werbung:
Ich habe zB 3 Tabellen indem der Primary Key von 2 Tabellen AUTO_INCREMENT ist und gleichzeitig
Fremdschlüssel in der 3. Tabelle ist. Wie bekomme ich die letzten erzeugten AUTO_INCREMENT's aus
den Tabellen in die Dritte. Mit dem Befehl LAST_INSERT_ID() bekomme ich ja nur die letzte, brauche aber beide.

In PostgreSQL würde ich zu currval() raten. Und dazu, gleich die recht coole WITH - Syntax zu nutzen. Aber Du hast ja nur MySQL, das kann das nicht.
 
Werbung:
Wie bekomme ich die letzten erzeugten AUTO_INCREMENT's aus
den Tabellen in die Dritte. Mit dem Befehl LAST_INSERT_ID() bekomme ich ja nur die letzte, brauche aber beide.

Wie wäre es, nach jedem Insert das zu ermitteln? Du bekommst die letzte vergebene in dieser Session, mußt Du halt in der Applikation speichern. Wie gesagt, mittel WITH-Syntax ginge das auch mit viel, viel mehr als nur 2 Tabellen in einem Rutsch, in einem SQL.
 
Zurück
Oben