繁体   English   中英

SQL 查询删除名字和姓氏重复的 WP 用户

[英]SQL query to delete WP users with duplicate first and last names

我们有一个 woocommerce 站点,该站点多年来一直进行后门注册,导致数千个垃圾邮件帐户。

我已经能够删除所有“.ru”和其他垃圾邮件 email 帐户,但有许多 gmail 地址正在使用。

其中许多人似乎很常见的一件事是名字和姓氏相同,例如:“Donaldpat Donaldpat”。

我将如何编写一个 SQL 查询,该查询将从 wp_users 表中删除在相关 wp_usermeta 表值中名字和姓氏具有相同值的用户?

会是这样的吗:

DELETE FROM wp_users
WHERE EXISTS (
  SELECT * FROM wp_usermeta
WHERE wp_usermeta.user_id = wp_users.ID
AND wp_usermeta.first_name = wp_usermeta.last_name
)

你可以试试这个,我在这里做的是分离我不需要的users.ID ,所以我只有要删除的表。 我决定使用IN而不是使用EXISTS ,因为这样您可以直接获取列表 ID,然后将其删除。

DELETE FROM wp_users
WHERE wp_users.ID IN ( 
  SELECT DISTINCT user_id 
  FROM wp_usermeta
WHERE wp_usermeta.first_name = wp_usermeta.last_name
)

我希望这可以帮到你。

暂无
暂无

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

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