Heim  >  Artikel  >  Datenbank  >  Wie kann ich mithilfe einer Unterabfrage in MySQL mehrere Zeilen in eine Tabelle einfügen?

Wie kann ich mithilfe einer Unterabfrage in MySQL mehrere Zeilen in eine Tabelle einfügen?

DDD
DDDOriginal
2024-11-01 03:17:02453Durchsuche

How Can I Insert Multiple Rows into a Table Using a Subquery in MySQL?

Einfügen mehrerer Zeilen mit einer Unterabfrage in MySQL

Sie suchen nach einer Lösung, um eine Tabelle mit mehreren Zeilen zu füllen, die von einer Unterabfrage zurückgegeben werden. Die von Ihnen bereitgestellte Beispielabfrage versucht, dies mithilfe einer verschachtelten VALUES-Klausel zu erreichen, führt jedoch zu einem Fehler, da die Unterabfrage mehr als eine Zeile zurückgibt.

Beheben des Fehlers

Um dieses Problem zu lösen, müssen Sie die Verschachtelung der Unterabfrage innerhalb der VALUES-Klausel vermeiden. Kombinieren Sie stattdessen die Unterabfrage mit einem statischen Wert für den Namen, indem Sie den folgenden Ansatz verwenden:

INSERT INTO Results (People, names)
SELECT d.id, 'Henry'
FROM Names f
JOIN People d ON d.id = f.id

Diese Abfrage gibt mehrere Zeilen mit der ID aus der Unterabfrage kombiniert mit der statischen Zeichenfolge „Henry“ für die Namensspalte zurück .

Erklärung

Durch die Kombination der Unterabfrage und des statischen Werts in der SELECT-Klausel erstellen Sie effektiv eine einzelne Zeile für jede von der Unterabfrage zurückgegebene Zeile. Dadurch kann die INSERT-Anweisung diese Zeilen erfolgreich zur Ergebnistabelle hinzufügen.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe einer Unterabfrage in MySQL mehrere Zeilen in eine Tabelle einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn