我正在一个Wordpress网站上工作,该网站已经制作了100,000多个垃圾邮件帐户。虽然还有其他类型,但其中许多似乎都有一个以数字开头的用户名。
所以我想问一下MYSQL
是否可以select/delete
查询用户名以数字开头的所有用户{{1}}。
此问题的扩展是这些用户是否只需要从users表中删除,还是需要从用户元或其他表中删除。
任何帮助表示感谢。
答案 0 :(得分:0)
是的,当然有几乎所有的MySQL查询,下面的查询选择了这样的用户,你只需要运行几次:
SELECT * FROM wp_users WHERE user_login LIKE 'put_number_here%' OR user_nicename LIKE LIKE 'put_number_here%' OR display_name LIKE 'put_number_here%'
将put_number_here
替换为起始编号,然后继续。
然后,在确定这些用户不合法之后,您可以使用几乎相同的查询删除它们:
DELETE FROM wp_users WHERE user_login LIKE 'put_number_here%' OR user_nicename LIKE LIKE 'put_number_here%' OR display_name LIKE 'put_number_here%'
编辑: 这是用户定义的函数,它检查字段中的给定值是否为数字。
CREATE FUNCTION ISNUMERIC(myVal VARCHAR(1024))
RETURNS TINYINT(1) DETERMINISTIC
RETURN myVal REGEXP '^(-|\\+)?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+|[0-9]+)$';