匹配并替换mysql查询

时间:2013-06-20 14:49:19

标签: mysql sql sql-update

我在这样的数据库中有两个表:

文章表

id | name
------------
1  | Cars

META TABLE

id | post_id | key  | value
---------------------------
1  | 1       | Audi | 42

想要完全匹配(值)并替换两个表(id / post_id)的值并像这样转换:

新文章表

id | name
------------
42 | Cars

NEW META TABLE

id | post_id | key  | value
---------------------------
1  | 42      | Audi | 42

这可能吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

这假设articlemeta之间的关系为article.id ==> meta.post_id

article中,id正在被相关的meta.value替换:

UPDATE article
INNER JOIN meta ON article.id = meta.post_id
SET id = meta.value

对于new_meta,您似乎只需要使post_idvalue相同。由于测试数据,这可能是一种误解。如果需要加入,请按照上面的查询示例。

UPDATE meta
SET post_id = value;