Heim >Datenbank >MySQL-Tutorial >Wie füge ich mithilfe einer Unterabfrage mehrere Werte korrekt in eine Tabelle ein?

Wie füge ich mithilfe einer Unterabfrage mehrere Werte korrekt in eine Tabelle ein?

Susan Sarandon
Susan SarandonOriginal
2025-01-05 20:11:44463Durchsuche

How to Correctly Insert Multiple Values into a Table Using a Subquery?

Werte mithilfe einer Unterabfrage in eine Tabelle einfügen

Das Einfügen von Werten in eine Tabelle mithilfe einer Unterabfrage mit mehreren Ergebnissen kann eine Herausforderung sein. Stellen Sie sich das Szenario vor, in dem Sie zwei Tabellen haben, Artikel und Preise, und Sie möchten Einträge in Preise basierend auf bestimmten IDs einfügen, die Sie vom Artikel erhalten haben.

Ein gängiger Ansatz, der oft zu SQL-Fehlern führt, ist die Verwendung von a Unterabfrage in der VALUES-Klausel:

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);

Diese Abfrage führt zu einem Fehler, da die Unterabfrage mehr als ein Ergebnis zurückgibt.

Der richtige Ansatz ist die Verwendung die SELECT-Anweisung in der INSERT-Abfrage und codieren Sie die Konstantenfelder fest:

insert into prices (group, id, price)
select 
    7, articleId, 1.50
from article where name like 'ABC%';

Indem Sie die Konstantenfelder von der Unterabfrage trennen, können Sie sicherstellen, dass für jedes Ergebnis der Unterabfrage nur eine Zeile eingefügt wird.

Das obige ist der detaillierte Inhalt vonWie füge ich mithilfe einer Unterabfrage mehrere Werte korrekt in eine Tabelle 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