理解「INSERT WITH SELECT」查詢
「INSERT WITH SELECT」 查詢將 INSERT 語句與 SELECT 語句結合起來,根據 SELECT 語句擷取的資料將多行插入資料庫表中。
「INSERT WITH SELECT」查詢的彈性
雖然 INSERT 語句通常允許您為目標表中的每一列指定值,而「INSERT WITH SELECT」查詢提供了更大的靈活性。在這些查詢中,您可以選擇性地包含或排除 SELECT 語句中的資料列,讓您可以將資料插入到特定列中或在插入過程中修改值。
範例:僅插入選取列並為列設定自訂值
考慮問題中提供的查詢:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, gid FROM courses WHERE cid = $cid</code>
在這個查詢中,SELECT 語句從 courses 表中擷取 name、location 和 gid 資料列,但只打算將 name 和 location 插入目標 courses 表中。要實現此目的,您可以修改查詢如下:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, 1 FROM courses WHERE cid = 2</code>
在修改後的查詢中,SELECT 語句保持不變,但我們在 INSERT 陳述式中為 gid 欄位指定了常數值 1。這允許我們將 name 和 location 插入 courses 中,同時將 gid 設為固定值 1。請注意,您可以將 1 替換為與 gid 類型相同的任何常數。
以上是如何使用 INSERT 和 SELECT 插入特定列並設定自訂值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!