Einfügen von Werten mit einer Abfrage in mehr als zwei Tabellen einfügen

StackOverflow https://stackoverflow.com/questions/2145455

  •  23-09-2019
  •  | 
  •  

Frage

Ist es möglich, Werte mit MySQL Qyery in verschiedene Tabellen einzufügen?

Keine korrekte Lösung

Andere Tipps

Ja, aber Sie müssen benutzerdefinierte Funktionen erstellen, die Werte als Nebeneffekt in andere Tabellen einfügen.

Die Grundidee ist, dass Sie das Ergebnis der Funktion in die Tabelle einfügen möchten, in der Sie andere Daten einfügen,

insert into table (resulting_value) values (my_function(parameters))

Sie können mehr darüber lesen gespeicherte Funktionen aus der MySQL -Dokumentation

Es gibt kein eines Abfrage, die dies kann, aber unter der Annahme, dass Sie mit PHP arbeiten, können Sie den Primärschlüssel der letzten eingefügten Zeile verwenden mysql_insert_id() Und dann können Sie die zweite Abfrage mit diesem Feld konstruieren.

Sie könnten es möglicherweise mit einem Auslöser (s) tun (dh Sie haben eine SQL -Insert -Anweisung ausgestellt, und nachfolgende Einsätze werden in der Datenbank durchgeführt), so lange

  1. Ihre nachfolgenden Einfügungswerte können aus dem Wert des vorhergehenden Einsatzes abgeleitet werden
  2. Es macht Ihnen nichts aus, mit den Problemen zu leben, zu denen ein solcher Ansatz möglicherweise entstehen könnte (unklare Fehlermeldungen, wenn ein Auslöser fehlschlägt, stille Einfügen, Leistungsprobleme usw.)).

Das Insert Der Befehl ermöglicht nur eine Zieltabelle, damit Daten eingefügt werden können ...

INSERT INTO target_table () VALUES();

Eine gute Problemumgehung kann bei der Verwendung von Triggern durchgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top