Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL加入元键值?_Mysql - Fatal编程技术网

MYSQL加入元键值?

MYSQL加入元键值?,mysql,Mysql,我有非常基本的mysql知识(能够更新和连接表),并且正在使用phpMYAdmin,但我现在正在尝试一些超出我水平的东西。我看了很多其他问题和答案,但找不到解决办法。我相信有一个非常简单的答案。这就是我想做的 usermeta t1 looks like this: user_id | meta_key | meta_value| --------------------------------------- 1 | mk1 | value1 | 2

我有非常基本的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.desc列中的数据更新所有单元格中带有值“name”的t1 meta_值列,其中meta_键为“desc”,并在其中加入t1.user_id=t2.user_id,但我不知道怎么做!有人对mysql有什么建议吗?

试试这个:

UPDATE usermeta t1
INNER JOIN userdata t2 ON t1.user_id = t2.user_id
SET t1.meta_value = t2.desc
WHERE t1.meta_key = 'desc' AND t1.meta_value = 'name'
用户id
上的两个表进行
内部联接,并在要更新的字段上添加
WHERE
子句


谢谢@Filipe!也谢谢你的演示。它看起来像我需要的,但当我尝试时,它返回“零行受影响”。我不知道为什么!你确定你没有运行过两次吗?第二次,没有人的meta_值为'name'?尝试执行
SELECT*fromUserMeta,其中meta_value='name'