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!