用于将显示名称设置为名字+姓氏的SQL

时间:2020-12-18 作者:Nitin Nain

我正在尝试设置wp\\u用户。使用SQL查询为较大的用户数据库显示\\u名称。

到目前为止:

SELECT x.display_name, x.first_name, x.last_name
FROM
(SELECT
  u.display_name,
  f.meta_value AS \'first_name\',
  l.meta_value AS \'last_name\'
FROM
  wp_users AS u
INNER JOIN
  wp_usermeta f ON f.user_id = u.ID
INNER JOIN
  wp_usermeta l ON l.user_id = u.ID
WHERE f.meta_key = \'first_name\'
AND l.meta_key = \'last_name\') AS x;
但尝试将第一个SELECT语句更改为UPDATE不起作用:

UPDATE
  wp_users
SET
  display_name = CONCAT(x.first_name, \' \', x.last_name)
FROM
(SELECT
  u.display_name,
  f.meta_value AS \'first_name\',
  l.meta_value AS \'last_name\'
FROM
  wp_users AS u
INNER JOIN
  wp_usermeta f ON f.user_id = u.ID
INNER JOIN
  wp_usermeta l ON l.user_id = u.ID
WHERE f.meta_key = \'first_name\'
AND l.meta_key = \'last_name\') AS x;

1 个回复
SO网友:Nitin Nain

计算出可用于重置display_namefirst_name + last_name. 它比JOIN这是我在发帖时想问的问题。

UPDATE wp_users 
SET display_name = Concat(
    (SELECT meta_value 
     FROM   wp_usermeta 
     WHERE  meta_key = \'first_name\' 
     AND user_id = id
    ),
    \' \',
    (SELECT meta_value 
     FROM wp_usermeta 
     WHERE 
     meta_key = \'last_name\' 
     AND user_id = id
    )
); 

相关推荐

PHP警告:mysqli_Query():将我的网站php从5.6更新到7.2后

最近我将我的网站php从5.6更新到7.2,但之后我的网站有时/经常显示内部服务器错误消息。我将debug设置为true,并出现以下错误:PHP警告:mysqli\\u query():MySQL服务器已在/var/www/wp includes/wp db中消失。第2033行的php警告:mysqli\\u query():在/var/www/wp includes/wp db中读取结果集标题时出错。php在线2033有人知道如何解决这个问题吗?我曾试图让wordpress修复数据库,但这并没有改变任何