簡體   English   中英

基於Join的Mysql INSERT / SELECT?

[英]Mysql INSERT / SELECT based on Join?

INSERT INTO Comment (info, pID, cID) VALUES(?,?,?) 
SELECT Comm.cID
FROM Professor P, Comment Comm, Course Cou 
WHERE P.pID = Comm.pID
AND Cou.cID = Comm.cID;

所以,基本上我試圖插入字段info,pID和cID,其中已經填充了pID和cID,但是從Comment表中提取了cID。

這可能嗎? 如果是這樣,我的語法有什么問題。

非常感激。

你真的在談論更新行嗎?

UPDATE Comment 
SET info = something
FROM Professor P, Comment Comm, Course Cou 
WHERE P.pID = Comm.pID
AND Cou.cID = Comm.cID;

或者,如果您只是創建從現有數據派生的新注釋行(為什么?):

INSERT INTO Comment (info, pID, cID)
SELECT something /* what'sinfo */, P.pID, Comm.cID
FROM Professor P, Comment Comm, Course Cou 
WHERE P.pID = Comm.pID
AND Cou.cID = Comm.cID;

您需要在與insert語句對應的每個選擇位置中都有一個值。

在您的示例中,您只需提取一個值,並嘗試填充3個值。

另外,使用SELECT語法時不需要VALUES()子句。

insert into ABC( a,b,c )
select 1,'bbb', 'ccc' from dual

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM