我正在开发一个 Wordpress 网站,该网站上已经创建了 100,000 多个垃圾邮件帐户。虽然还有其他类型,但其中许多似乎都有以数字开头的用户名。
所以我想问是否可以有一个MYSQL
查询来选择/删除
所有用户名以数字开头的用户。
这个问题的一个延伸是,这些用户是否需要仅从用户表中删除,或者还需要从用户元或其他表中删除。
感谢任何帮助。
最佳答案
是的,(当然)几乎所有东西都有 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]+)$';
关于mysql - 查看第一个索引处的值是否为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22507099/