如果条件匹配,MYSQL将数据从一个表列移动到另一个表列

时间:2016-01-27 15:37:59

标签: mysql database data-migration

我真的不是一个更喜欢php家伙的mysql家伙:)

我在将值从一个表列复制到另一个表列时遇到问题。

诀窍是只有在条件匹配时才应复制数据。所以基本上我想将categoryID从一个表转移到另一个表,如果postID是相同的。

我有两张表新闻 news_in_category

新闻表中,我有以下列( id,title,categoryID

news_in_category 中的

我有以下列(newsId,newsCategoryId)

所以我想将newsCategoryId移动到categoryID,如果newsId与id相同。

例如,如果新闻表id = 99,它应该在news_in_category表中查找找到值为99的newsId并将newsCategoryId值复制到id为99的新闻表categoryID

希望你有意义:))

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试:

UPDATE news n
JOIN news_in_category nic ON n.id = nic.newsId
SET n.categoryID = nic.newsCategoryId

看起来你可能有一个冗余的功能依赖:newsId -> categoryId。如果是这样,您可以在运行上述查询后删除news_in_category表而不会丢失任何信息。