使用mysql进行右连接的简单更新

时间:2014-01-09 06:32:55

标签: mysql sql join sql-update right-join

我有两个表,每个表都包含相同的值(在大多数情况下)

我能够从表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,其中它们根据连接的结果共享相同的值。我无法绕过这个问题。

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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
   )
相关问题