带连接的sql更新

时间:2014-11-18 14:18:36

标签: mysql sql

我正在尝试从另一个表中的另一行更新表中的某些行。

这是我到目前为止的sql:

UPDATE nymb_posts
JOIN nymb_postmeta
ON nymb_postmeta.post_id = nymb_posts.ID
WHERE nymb_postmeta.meta_key = "_wp_attached_file"
AND nymb_posts.post_type = "attachment" 
AND nymb_posts.post_parent = "0"
SET nymb_posts.Guid = nymb_postmeta.meta_value

我刚刚在SQL语法中出现#34;错误"。 如果我删除WHERE子句没有错误。如果我使它成为UPDATE的SELECT内容,则WHERE子句可以工作。 WHERE子句有什么问题?

2 个答案:

答案 0 :(得分:3)

setwhere

之前
UPDATE nymb_posts JOIN
       nymb_postmeta
       ON nymb_postmeta.post_id = nymb_posts.ID
    SET nymb_posts.Guid = nymb_postmeta.meta_value
WHERE nymb_postmeta.meta_key = "_wp_attached_file" AND
      nymb_posts.post_type = "attachment" AND
      nymb_posts.post_parent = "0";

答案 1 :(得分:0)

使用set before where子句然后它将起作用