使用子查詢將值插入表中
使用具有多個結果的子查詢將值插入到表中可能具有挑戰性。考慮這樣的場景:您有兩個表,文章和價格,並且您希望根據從文章獲取的特定 ID 將條目插入價格中。
一種經常導致 SQL 錯誤的常見方法是使用VALUES 子句中的子查詢:
INSERT INTO prices (group, id, price) VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
此查詢將導致錯誤,因為子查詢會傳回多個結果。
正確的做法就是在INSERT查詢中使用select語句,對常數欄位進行硬編碼:
insert into prices (group, id, price) select 7, articleId, 1.50 from article where name like 'ABC%';
透過將常數欄位與子查詢分離,可以保證子查詢的每個結果只插入一行。
以上是如何使用子查詢正確地將多個值插入表中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!