过去一两个小时,我一直无法将数据从旧表传输到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行
答案 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'