从另一个表更新多个MySQL行

时间:2014-09-30 16:36:58

标签: mysql

好的我有两张桌子:文章和帖子。

在文章中,我有“图像”列,其中每个条目都有图像的名称。

在posts表中,我有“post_image”列,我希望将articles表中的所有值与匹配的文章ID放在一起。

这是我正在尝试做的事情,但当然它会发出错误,因为它不止一个值。我知道这应该是一个加入,但我迷失了加入。有什么帮助吗?

UPDATE posts SET post_image = (
SELECT image FROM articles, posts WHERE article_id = ID
)

我试过了:

UPDATE posts SET post_image = (SELECT image FROM articles WHERE article_id = ID LIMIT 1)

它所做的就是用“文章”的第一个值更新“post_image”的所有条目。

1 个答案:

答案 0 :(得分:0)

实际上,我做错了,它比那简单得多。这是最终对我有用的东西:

UPDATE posts, articles
SET posts.post_image = articles.image
WHERE posts.ID = articles.article_id