Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wert (https://www.delphipraxis.net/75701-insert-mehrere-tabellen-gleichzeitig-mit-auto_inc-wert.html)

faux 23. Aug 2006 18:39

Datenbank: MySQL • Version: 4.1 • Zugriff über: mysqli

INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wert
 
Hallo!

Ich habe eine Tabelle names groups mit einem id-Feld welches als AUTO_INCREMENT definiert ist. Dann gibts noch zwei (Referenz?) Tabellen, die keinen Primärschlüssel haben, sondern auf die ID von groups zugreifen. Für jeden Datensatz in groups gibts in den Referenztabellen mindestens einen Datensatz (1:n also).
Jedenfalls will ich jetzt mittels PHP mehrere Einträge in die groups-Tabelle machen und bekomme dann für jeden Eintrag natürlich auch eine eindeutige ID zugewiesen, welchen ich ja dann in der Referenztabelle auch eintragen muss.
Jetzt zu meiner Frage: Kann ich in die groups immer nur einen Eintrag machen, dann die ID auslesen und dann in die Referenztabellen schreiben, oder kann ich das auch gleichzeitig erledigen? (Fragestellung ist etwas verwirren, ich weiß... :oops:).
Gibts also sozusagen eine Möglichkeit, dass ich die ID, die mir MySQL über AUTO_INCREMENT zuteile gleich weiterverarbeite und in eine andere Tabelle eintrage, oder muss ich das schrittweise machen?

Grüße
Faux

faux 23. Aug 2006 19:02

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer
 
So, hab mir selbst was einfallen lassen, was allerdings nicht perfekt ist, eher ein Work-Around als eine Lösung:

Zuerst füge ich in die groups alles ein, was ich einfügen will und mache nachher einen OUTER JOIN auf NULL:
SQL-Code:
SELECT group_id
FROM groups g
   LEFT OUTER JOIN groupaccess ga
      USING (group_id)
WHERE ga.group_id IS NULL
groupaccess ist eine Referenztabelle.

Weiß jemand eine bessere Lösung?

Grüße
Faux

mkinzler 23. Aug 2006 19:26

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer
 
Unterstützt MySQL inzwischen Sequences?

Chewie 23. Aug 2006 19:57

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer
 
Glaube nicht, und wenn dann bestimmt nicht in Version 4.1.
Ich würde hie eine Stored Procedure vorschlagen, aber das geht ja auch erst ab Version 5.

mkinzler 23. Aug 2006 20:02

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer
 
Zitat:

Glaube nicht, und wenn dann bestimmt nicht in Version 4.1.
Ich glaub ich sollte ne Brille aufsetzen, dort steht ja 4.1. Diese Version kennt definitiv keine Sequenzen.

faux 23. Aug 2006 20:47

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer
 
Zitat:

Zitat von Chewie
Ich würde hie eine Stored Procedure vorschlagen, aber das geht ja auch erst ab Version 5.

Die 4.1er kann einiges was ich brauche noch nicht. :evil:
Naja, kann man nichts machen. Trotzdem Danke.

Grüße
Faux

Und Transaktionen sind auch nur in INNO-DB implementiert, und das stellt mein Webspaceprovider nicht zur Verfügung. :evil:
Immer diese Einschränkungen...

Sharky 24. Aug 2006 07:05

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer
 
Zitat:

Zitat von faux
... mehrere Einträge in die groups-Tabelle machen ...

Hai faux,

wie sieht denn dein SQL-Befehl für das Einfügen der Daten aus?

Jelly 24. Aug 2006 08:07

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer
 
Vielleicht hilft auch dieser Thread weiter.

Ich würd nicht mit irgendwelchen Joins rumhantieren, nur um eine ID auszulesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz