Verstehen der Abfrage „INSERT WITH SELECT“
Die Abfrage „INSERT WITH SELECT“ kombiniert eine INSERT-Anweisung mit einer SELECT-Anweisung, um basierend auf den aus der SELECT-Anweisung abgerufenen Daten mehrere Zeilen in eine Datenbanktabelle einzufügen.
Flexibilität der „INSERT WITH SELECT“-Abfrage
Während Sie mit der INSERT-Anweisung normalerweise einen Wert für jede Spalte in der Zieltabelle angeben können, bietet die Abfrage „INSERT WITH SELECT“ mehr Flexibilität. In diesen Abfragen können Sie Spalten in der SELECT-Anweisung selektiv einschließen oder ausschließen, sodass Sie während des Einfügevorgangs Daten in bestimmte Spalten einfügen oder Werte ändern können.
Beispiel: Nur ausgewählte Spalten einfügen und benutzerdefinierte Werte für Spalten festlegen
Bedenken Sie die Abfrage in der Frage:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, gid FROM courses WHERE cid = $cid</code>
In dieser Abfrage ruft die SELECT-Anweisung die Spalten „Name“, „Ort“ und „GID“ aus der Kurstabelle ab, beabsichtigt jedoch nur, Name und Ort in die Zielkurstabelle einzufügen. Um dies zu erreichen, können Sie die Abfrage wie folgt ändern:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, 1 FROM courses WHERE cid = 2</code>
In der geänderten Abfrage bleibt die SELECT-Anweisung dieselbe, wir geben jedoch in der INSERT-Anweisung einen konstanten Wert von 1 für die GID-Spalte an. Dadurch können wir den Namen und den Ort in Kurse einfügen und gleichzeitig die GID auf einen festen Wert von 1 setzen. Beachten Sie, dass Sie 1 durch eine beliebige Konstante desselben Typs wie gid ersetzen können.
Das obige ist der detaillierte Inhalt vonWie kann ich INSERT mit SELECT verwenden, um bestimmte Spalten einzufügen und benutzerdefinierte Werte festzulegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!