Heim > Datenbank > MySQL-Tutorial > Kann ich mit SELECT INSERT in eine Tabelle einfügen und einer Spalte einen anderen Wert zuweisen?

Kann ich mit SELECT INSERT in eine Tabelle einfügen und einer Spalte einen anderen Wert zuweisen?

Linda Hamilton
Freigeben: 2025-01-18 19:46:11
Original
114 Leute haben es durchsucht

Can I INSERT into a table with SELECT, assigning a different value to one column?

Kombinieren von INSERT und SELECT mit geänderten Spaltenwerten

Dieses Beispiel zeigt, wie Sie mithilfe einer courses-Anweisung Daten in die Tabelle SELECT einfügen und gleichzeitig der Spalte gid einen bestimmten Wert zuweisen, unabhängig vom aus der Quelltabelle abgerufenen Wert.

Die ursprüngliche Abfrage versucht, Daten aus der courses Tabelle:

zu kopieren
<code class="language-sql">INSERT INTO courses (name, location, gid) 
SELECT name, location, gid 
FROM courses 
WHERE cid = $cid</code>
Nach dem Login kopieren

Die Frage ist, ob wir den gid-Wert während des Einfügevorgangs ändern können.

Lösung

Ja, das ist erreichbar. Der Schlüssel besteht darin, die Spalte gid in der Anweisung SELECT durch einen konstanten Wert oder einen anderen Ausdruck zu ersetzen. Die folgende Abfrage veranschaulicht dies:

<code class="language-sql">INSERT INTO courses (name, location, gid)
SELECT name, location, 1  -- '1' is the new gid value
FROM   courses
WHERE  cid = 2  -- Example condition; replace '2' with your desired cid</code>
Nach dem Login kopieren

In dieser modifizierten Abfrage erhält die Spalte gid in der Anweisung INSERT immer den Wert 1, unabhängig vom Wert gid in der ausgewählten Zeile aus der Tabelle courses. Sie können 1 durch jede geeignete Konstante oder jeden geeigneten Ausdruck ersetzen, der einen Wert ergibt, der mit dem Datentyp der Spalte gid kompatibel ist. Die WHERE-Klausel filtert die Quelldaten und stellt sicher, dass nur die relevante Zeile zum Einfügen verwendet wird.

Das obige ist der detaillierte Inhalt vonKann ich mit SELECT INSERT in eine Tabelle einfügen und einer Spalte einen anderen Wert zuweisen?. 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