WordPress - 删除所有没有角色的用户

6
我们有超过 900,000 个垃圾用户!他们没有任何角色。我们想删除所有垃圾用户及其元数据。
这个答案这个链接中,我们可以根据角色删除用户,但是我们的垃圾用户没有任何角色。
此查询返回真实用户:
SELECT user_id FROM wp_usermeta WHERE meta_key = 'wp_capabilities'

usermeta中,垃圾用户没有capabilities键。
我们希望通过数据库查询删除垃圾用户。

我认为需要更多的查询。正如你所说,“在用户元数据中,垃圾邮件用户没有能力键。” 所以你可以轻松地获取垃圾邮件用户列表,对吧?就像查找没有KEY的用户一样。 - Helping Hands
1个回答

7

为了解决这个问题,你可以使用子查询和in运算符。

delete from wp_users where ID not in
(select user_id from wp_usermeta where meta_key = 'wp_capabilities')

select user_id from wp_usermeta where user_id not in
(select ID from wp_users)

1
非常好,谢谢您!我相信您的第二个查询应该是说DELETE。DELETE FROM wp_usermeta WHERE user_id NOT IN (SELECT ID from wp_users); - contrid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接