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
Freigeben: 2025-01-05 20:11:44
Original
428 Leute haben es durchsucht

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);
Nach dem Login kopieren

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%';
Nach dem Login kopieren

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!

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