將子查詢中的多行插入表中
嘗試使用返回多行的子查詢將多行插入表中時,您可能會遇到錯誤1242 (21000):子查詢傳回多於1 行。出現此錯誤的原因是 MySQL 限制使用單一 INSERT 語句插入多行。
要解決此問題,請採用以下技術:
將要插入的靜態行資料與子查詢。例如,如果您希望將名稱「Henry」插入子查詢傳回的每一行的名為「names」的欄位中,請如下所示修改查詢:
INSERT INTO Results (People, names) SELECT d.id, 'Henry' FROM Names f JOIN People d ON d.id = f.id
在此修改後的查詢中,靜態值「Henry」與子查詢組合。因此,子查詢傳回的每一行的「names」欄位都會填入值「Henry」。
以上是如何將子查詢中的多行插入 MySQL 的表中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!