MySQL将数据复制到另一个表WHERE id是相同的

时间:2015-08-13 09:19:20

标签: mysql sql

过去一两个小时,我一直无法将数据从旧表传输到WordPress usermeta表。到目前为止,我的查询看起来像这样:

UPDATE bitnami_wordpress.wp_usermeta 
SET bitnami_wordpress.wp_usermeta.meta_value = customer_db.customer_table.LastName
FROM customer_db.customer_table, bitnami_wordpress.wp_usermeta 
WHERE customer_db.customer_table.CompanyID = bitnami_wordpress.wp_usermeta.user_id
AND bitnami_wordpress.wp_usermeta.meta_key = 'last_name'

但这是不行的;

我正在尝试将 customer_table 中的LastName字段复制到 wp_usermeta 表中的meta_value字段,其中{{1 } customer_table user_meta 表中的CompanyID相同。

基本上为WordPress表中的每个人提供姓氏(对于名字也是如此)。

为我糟糕的MySQL代码道歉,但我非常感谢任何输入,所以我可以为将来学习。

错误是:

  

MySQL说:文档1064 -   您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'FROM rbaukcom_rbacms.supportpassword,bitnami_wordpress.wp_usermeta附近使用正确的语法   rbau'在第3行

2 个答案:

答案 0 :(得分:2)

这是语法

UPDATE bitnami_wordpress.wp_usermeta as t1 inner join customer_db.customer_table as t2
ON t2.CompanyID = t1.user_id
       AND t1.meta_key = 'last_name' 
SET    t1.meta_value = t2.LastName

答案 1 :(得分:2)

您需要使用JOIN UPDATE,同时请注意您使用的是不同的数据库,因此需要确保执行更新的用户可以访问这两个数据库

update bitnami_wordpress.wp_usermeta um
join customer_db.customer_table ct
on ct.CompanyID = um.user_id 
set um.meta_value = ct.user_id
where 
um.meta_key = 'last_name'