Heim  >  Artikel  >  Datenbank  >  Wie füge ich mehrere Zeilen aus Unterabfragen in Tabellen in MySQL ein?

Wie füge ich mehrere Zeilen aus Unterabfragen in Tabellen in MySQL ein?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 03:50:02484Durchsuche

How to Insert Multiple Rows from Subqueries into Tables in MySQL?

Einfügen mehrerer Zeilen aus Unterabfragen in Tabellen

Wenn Sie versuchen, mehrere Zeilen in eine Tabelle mithilfe einer Unterabfrage einzufügen, die mehr als eine Zeile zurückgibt, Möglicherweise tritt der Fehler 1242 (21000) auf: Unterabfrage gibt mehr als eine Zeile zurück. Dieser Fehler tritt aufgrund der Einschränkung von MySQL auf, mehrere Zeilen mit einer einzigen INSERT-Anweisung einzufügen.

Um dieses Problem zu beheben, verwenden Sie die folgende Technik:

Kombinieren Sie die statischen Zeilendaten, die Sie einfügen möchten die Unterabfrage. Wenn Sie beispielsweise den Namen „Henry“ in eine Spalte mit dem Namen „Namen“ für jede von der Unterabfrage zurückgegebene Zeile einfügen möchten, ändern Sie die Abfrage wie folgt:

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

In dieser geänderten Abfrage ist die statische Der Wert „Henry“ wird mit der Unterabfrage kombiniert. Infolgedessen wird in jeder von der Unterabfrage zurückgegebenen Zeile die Spalte „Namen“ mit dem Wert „Henry“ gefüllt.

Das obige ist der detaillierte Inhalt vonWie füge ich mehrere Zeilen aus Unterabfragen in Tabellen in MySQL ein?. 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