[英]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.