2012-11-16 197 views
-1

任何幫助表示讚賞。我們需要更新ibf_posts.author_id。我已經嘗試過,但它似乎沒有工作。沒有錯誤,但查詢在運行數小時後尚未完成。 2.9克dbase。 ibf_posts是1.9GSQL查詢更新

UPDATE ibf_posts SET author_id = (SELECT member_id FROM ibf_members 
       WHERE ibf_members.members_display_name = ibf_posts.author_name) 

表:ibf_posts,ibf_members

ibf_posts.author_name = ibf_members.members_display_name

ibf_posts.author_id = ibf_members.member_id

[slinky = slinky] 
[4814 = 4814] 

但我們有:

[slinky = slinky] 
[0 = 4814] 
+1

我不明白這個最手段,但如果你的查詢運行數個小時,那麼你應該檢查該表不是被什麼東西/別人鎖定。 – DaveRlz

+0

你知道你的members_display_name和author_name是唯一的嗎? – Laurence

+0

...你的索引是什麼?你可以請張貼你的表格創建腳本。 – Ben

回答

1

試試這樣說:

UPDATE ibf_posts, ibf_members 
SET ibf_posts.author_id = ibf_members.member_id 
WHERE ibf_members.members_display_name = ibf_posts.author_name; 
+0

這個工作很棒。在索引列之後,一開始並不完美,但非常完美。謝謝。 – slinkyaroo