繁体   English   中英

SQL命令批量/一次设置所有Wordpress用户昵称

[英]SQL command to set all Wordpress user nicknames in bulk / at once

我使用导入服务将用户从OpenCart平台导入WordPress安装。 不幸的是,当这种情况发生时,所有导入的用户最终都以相同的“昵称”作为其“用户名”。 由于wordpress不允许昵称与用户名相同,因此当用户尝试更新密码时,他们将无法执行操作,因为当昵称与用户名相同时,wordpress不会保存。

因此,作为一种解决办法,我认为一种解决方法是在数据库上运行SQL命令,以将所有注册的昵称简单地重置为通用名称,例如“ GenericNickname”或类似名称。

我对SQL不好,所以我想就我将要执行的命令提出建议。

这是SQL Server吗? 我刚刚进行了测试,将100行更新到测试数据库中。 您可以执行以下操作,将计数器的值从1更改为100,以更新每一行。

DECLARE @counter INT

SET @counter = 1

WHILE @counter <= 100
  BEGIN
      UPDATE users_table
      SET    nickname = 'GenericNickname'
      WHERE  users_key = @counter;

      SET @counter = @counter + 1
  END  

编辑:

或者,您可以使用光标逐行进行更新:

DECLARE @userKey INT
DECLARE user_cursor CURSOR FOR
  SELECT dbo.users.user_key
  FROM   dbo.users

OPEN user_cursor;

FETCH next FROM user_cursor INTO @userKey;

WHILE @@FETCH_STATUS = 0
  BEGIN
      UPDATE dbo.users
      SET    dbo.users.nickname = 'GenericNickname'
      WHERE  dbo.users.user_key = @userKey;

      FETCH next FROM user_cursor INTO @userKey;
  END;

CLOSE user_cursor;

DEALLOCATE user_cursor;

go  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM