2014-01-09 38 views
2

我有兩個表,其各自包括相同的值(在大多數情況下)右簡單更新聯接使用的MySQL

我能夠從表1中,得到了行ID,其中表1值=表2值

SELECT wp_posts.ID 
FROM `wp_posts` 
RIGHT OUTER JOIN `wp_wpfb_files` ON wp_posts.post_name = wp_wpfb_files.file_display_name) 

現在我想更新表2,並將列attach_id設置爲等於表1中的帖子ID,其中它們共享與連接結果相同的值。我無法繞過這個包裹。

預先感謝任何幫助

+1

http://stackoverflow.com/questions/15209414/mysql-update-join –

回答

2

試試這個:

UPDATE `wp_wpfb_files` wf 
LEFT JOIN `wp_posts` wp ON wf.file_display_name = wp.post_name 
SET wf.attach_id = wp.ID; 
+0

完美。謝謝! – psorensen

+0

@PeteSorensen你是最受歡迎的... –

0
update wp_wpfb_files set attach_id = 
    (SELECT wp_posts.ID FROM `wp_posts` 
      RIGHT OUTER JOIN 
      `wp_wpfb_files` ON 
     wp_posts.post_name = wp_wpfb_files.file_display_name 
    )