mysql - 从另一个表更新多个 MySQL 行

标签 mysql

好的,我有两个表:文章和帖子。

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

在 posts 表中,我有“post_image”列,我想在其中放置文章表中的所有值以及匹配的文章 ID。

这就是我想要做的,但它当然会抛出一个错误,因为它有多个值。我知道它应该是一个 JOIN 但我迷失了连接。有什么帮助吗?

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)

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

最佳答案

其实我做错了,事情比那简单得多。这最终对我有用:

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

关于mysql - 从另一个表更新多个 MySQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26125840/

相关文章:

php - 自动补全多个无序词

mysql - 反优化 MySQL

mysql - 使用 BLOB 数据类型在数据库中插入图像

mysql - 处理 UPDATE 触发器并记录每列发生的情况的正确语法?

mysql - 嵌套 VIEW 忽略 ORDER BY

sql - 使用Intellisense开发MySQL存储过程?

php - Codeigniter - 如何将图像添加到我的 CRUD 方法中?

php - PHP/Ajax 脚本中的 Order By 语法问题

php - 无法插入到我的 MYSQL 表中

mysql - 从记录中检索字符串值并插入到另一列