AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wert
Thema durchsuchen
Ansicht
Themen-Optionen

INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wert

Ein Thema von faux · begonnen am 23. Aug 2006 · letzter Beitrag vom 24. Aug 2006
Antwort Antwort
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wert

  Alt 23. Aug 2006, 19:39
Datenbank: MySQL • Version: 4.1 • Zugriff über: mysqli
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ß... ).
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 Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer

  Alt 23. Aug 2006, 20:02
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer

  Alt 23. Aug 2006, 20:26
Unterstützt MySQL inzwischen Sequences?
Markus Kinzler
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer

  Alt 23. Aug 2006, 20:57
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.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer

  Alt 23. Aug 2006, 21:02
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer

  Alt 23. Aug 2006, 21:47
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.
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.
Immer diese Einschränkungen...
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#7

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer

  Alt 24. Aug 2006, 08:05
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?
Stephan B.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#8

Re: INSERT in mehrere Tabellen gleichzeitig mit AUTO_INC-Wer

  Alt 24. Aug 2006, 09:07
Vielleicht hilft auch dieser Thread weiter.

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


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 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