MYSQL Join on meta key value?

时间:2013-12-12 作者:user2591811

我有非常基础的mysql知识(能够更新和连接表),并且正在使用phpMYAdmin,但我现在正在尝试一些超出我水平的东西。我已经看了很多其他的问题和答案,但找不到解决方案。我相信有一个非常简单的答案。这就是我想做的。。。

usermeta t1 looks like this:
user_id |  meta_key  | meta_value|
---------------------------------------
 1      |   mk1      |  value1  |
 2      |   mk2      |  value2  |
 3      |   desc     |  name    |
 4      |   mk4      |  value4  |
 5      |   desc     |  name    |
 6      |   mk6      |  value6  |
 7      |   mk7      |  value7  |
 8      |   desc     |  name    |
 9      |   mk9      |  value9  |
 10     |   desc     |  name    |

 userdata t2 looks like this:
 user_id  |   desc   |  
 ---------------------
 1        |   bob    |
 2        |   joe    |
 3        |   nancy  |
 4        |   jane   |
 5        |   lee    |
 6        |   jeff   |
 7        |   jill   |
 8        |   scott  |
 9        |   len    |
 10       |   carey  |
我想用t2中的数据更新所有单元格中的t1 meta\\u value列,其中meta\\u键为“desc”。desc列,并在t1处连接。user\\u id=t2。user\\u id,但我不知道怎么做!有人对mysql有什么建议吗?

1 个回复
SO网友:Ruhul Amin

您可以在比较相同的userid时更新仅仅连接两个表。例如:

update t1 join
       t2
       on t1.user_id = t2.user_id
    set t1.meta_value = t2.desc;

结束

相关推荐

WordPress MySQL查询和复制

我的wordpress数据库上的mysql查询有问题。我有国家和城市的自定义字段。目前,我有一个显示“英国”国家所有城市的查询$querystr = \" SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = \'Country\' AND wp