MySQL查询删除Joomla用户使用相同的第一个&姓

时间:2012-11-27 07:50:21

标签: mysql joomla

我知道这不正确,但这基本上就是我想做的事情:

delete FROM jos_users WHERE name like '<firstname>=<lastname>'

在Joomla中,名称field是一个输入,并且有很多垃圾邮件帐户具有相同的第一个&amp;姓氏 - 例如Uzhuzaio Uzhuzaio - 我想删除。

总而言之,我需要一个查询来删除jos_usersname字段包含2个相同单词的用户

3 个答案:

答案 0 :(得分:2)

我认为

DELETE FROM jos_users WHERE SUBSTRING_INDEX(name, '=', 1 ) = SUBSTRING_INDEX(name, '=', -1 )

应该做的伎俩,你试过吗?

答案 1 :(得分:1)

您可以使用SUBSTRING_INDEX,它会在分隔符出现一定数量之前或之后返回子字符串。
在下面的示例中,space是分隔符,count为1将返回第一个空格左侧的所有内容,并在第一个空格右侧返回-1所有内容。

DELETE FROM jos_users WHERE 
       SUBSTRING_INDEX(name, " ", 1)=SUBSTRING_INDEX(name, " ", -1)

我会首先执行SELECT,看看那里没有合法用户(很少见,但可能会发生)

重要提示:仅当名称采用<name> <surname>形式时才有效。多个空格会造成问题。如果是多个空格(例如<composite name> <composite name>),您应该使用不同的计数值(2;-2 3;-3等)。

答案 2 :(得分:0)

默认情况下,Joomla没有名字和名字的单独字段。很可能你用一些符号分隔它们。我建议定义它并编写一个简单的PHP代码。至少这是我会做的。