Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie füge ich mehrere Zeilen aus einer Unterabfrage in eine MySQL-Tabelle ein, wenn die Unterabfrage mehr als eine Zeile zurückgibt?

Patricia Arquette
Freigeben: 2024-11-02 15:08:29
Original
144 Leute haben es durchsucht

How to Insert Multiple Rows from a Subquery into a MySQL Table When the Subquery Returns More Than One Row?

Einfügen mehrerer Zeilen aus einer Unterabfrage in eine MySQL-Tabelle

Um mehrere Zeilen aus einer Unterabfrage in eine MySQL-Tabelle einzufügen, ist es wichtig, dies sicherzustellen dass die Unterabfrage nur eine einzige Zeile zurückgibt. Im bereitgestellten Codeausschnitt versucht die Einfügungsabfrage:

INSERT INTO Results (People, names)
VALUES
(
 (SELECT d.id FROM Names f JOIN People d ON d.id = f.id),
 ("Henry"),
);
Nach dem Login kopieren

, zwei Werte in die Spalten „Personen“ und „Namen“ einzufügen. Die Unterabfrage in der ersten Klammer gibt jedoch mehrere Zeilen für d.id zurück. Dies führt zu dem Fehler „Unterabfrage gibt mehr als 1 Zeile zurück.“

Lösung mit kombinierter statischer Zeichenfolge

Um die statische Zeichenfolge „Henry“ einzufügen und gleichzeitig die Ergebnisse beizubehalten Ä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
Nach dem Login kopieren

Durch die Kombination der statischen Zeichenfolge „Henry“ mit der Unterabfrage mithilfe eines Kommas setzt die Abfrage den Wert für die Namensspalte für jede Zeile explizit auf „Henry“. von der Unterabfrage zurückgegeben. Dadurch wird sichergestellt, dass die Abfrage die Ergebnisse der Unterabfrage zusammen mit dem angegebenen Wert in die Tabelle einfügt, ohne dass der Fehler auftritt.

Das obige ist der detaillierte Inhalt vonWie füge ich mehrere Zeilen aus einer Unterabfrage in eine MySQL-Tabelle ein, wenn die Unterabfrage mehr als eine Zeile zurückgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!