我想創建一個插入語句,下面是我到目前爲止有:MySQL如何在SELECT子查詢返回多行時插入到表中?
INSERT INTO Role (application, developer, role)
VALUES (? ,
(SELECT Id from Developer WHERE firstName='Alice' and lastname='Wonderland'),
'ARCHITECT');
在缺失值領域,我試圖做一個連接,下面的連接語句返回我需要的值:
SELECT a.id
FROM Application a
JOIN application d ON d.id = a.id and a.category='GAMES'
然而,當我插入之前的查詢到在INSERT語句中缺少值字段,它給我的錯誤,指出查詢返回超過1行(這是故意的,看到我想要的所有行返回插入到角色表中)
任何人都可以提供有關如何解決此問題的反饋嗎?
您一次只能插入一行,因此您需要找到一種方法逐一完成此操作。 – AdamMc331 2014-10-20 15:09:06
加入你沒有任何意義。您正在加入同一個ID列上的同一張表。你確定這是正確的嗎? – Donal 2014-10-20 15:10:34
@Donal,是的,join語句在值字段外很好地工作。如果您有更好的方式來設置聯合聲明,請告訴我。 – user3220348 2014-10-20 15:12:07