首頁  >  文章  >  資料庫  >  如何將子查詢中的多行插入 MySQL 的表中?

如何將子查詢中的多行插入 MySQL 的表中?

Linda Hamilton
Linda Hamilton原創
2024-10-30 03:50:02475瀏覽

How to Insert Multiple Rows from Subqueries into Tables in MySQL?

將子查詢中的多行插入表中

嘗試使用返回多行的子查詢將多行插入表中時,您可能會遇到錯誤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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn