2011-12-15 105 views
0

我有2個表fullInfofundInfofullInfo是一個捐贈給非營利組織的完整數據集。 fundInfo是一個獨特的基金小組列表與隨附的身份證號碼。我試圖將fundInfo中的基金ID號碼插入fullInfo中的列fundId中,該列存在但當前具有NULL值。Mysql更新列

fullInfo

id   funddesc   amount  fundId 
002   GENERAL   25.00   NULL 
044   MAINT    50.00   NULL 
122   TRAVEL   75.00   NULL 
...   ...    ...   ... 

fundInfo

id   funddesc 
01   MAINT 
02   TRAVEL 
03   GENERAL 
...   ... 

update fullInfo 
set fullInfo.fundId = fundInfo.id 
where fullInfo.funddesc = fundInfo.funddesc; 

此代碼不能正常工作。有什麼建議麼?

回答

2
UPDATE fullInfo 
    INNER JOIN fundInfo 
     ON fullInfo.funddesc = fundInfo.funddesc 
    SET fullInfo.fundId = fundInfo.id; 
+0

有趣的是,提供了兩種風格比較。我更喜歡我提供的風格(顯然),但這是因爲對於我來說更清楚哪張桌子是被更新的。如果有多個連接,我將使用FROM下的內連接... on ...語法,但這樣做仍然使它們與主UPDATE表子句分開。 – 2011-12-15 20:16:08

3
update fullInfo 
set fullInfo.fundId = fundInfo.id 
from 
fundInfo 
where fullInfo.funddesc = fundInfo.funddesc;