将显示名称设置为名字和姓氏(phpmyadmin SQL查询)

时间:2015-03-03 作者:Toby Osborne

我正在尝试将所有用户的显示名称更改为他们的名字和姓氏。我已经研究了许多插件,并编写了自己的PHP来尝试实现这一点,但该网站有50000多名注册用户(我可以想象大多数是来自我的客户以前网站的垃圾邮件),但正因为如此,PHP挂起了,在放弃之前只有大约2000个。

因此,我认为下一个最好的方法是从PHPmyAdmin中编写一个SQL语句来执行该任务,然而纯SQL让我很困惑,到目前为止,我所能做的就是将显示名设置为用户的名字,我不确定如何获得姓氏。这是我使用的语句。

UPDATE wp_users, wp_usermeta
SET display_name = meta_value
WHERE ID = user_id
AND meta_key = \'first_name\'
任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:Ben 整理而成

我知道这是一个老问题,但对于仍在寻找如何实现这一点的人来说,以下查询应该可以完成这项工作:

UPDATE wp_users
INNER JOIN wp_usermeta AS fn_meta ON wp_users.ID = fn_meta.user_id AND fn_meta.meta_key = \'first_name\'
INNER JOIN wp_usermeta AS ln_meta ON wp_users.ID = ln_meta.user_id AND ln_meta.meta_key = \'last_name\'
SET wp_users.display_name = CONCAT(fn_meta.meta_value, \' \', ln_meta.meta_value)
基本上,您需要添加两个用户元联接—一个用于检索名字,另一个用于检索姓氏,因为它们存储在单独的行中。

我强烈建议在生产环境中运行之前在测试/登台服务器上进行测试。

结束