gpt4 book ai didi

mysql - SQL : Update row in table with replace word

转载 作者:行者123 更新时间:2023-11-29 23:25:47 25 4
gpt4 key购买 nike

我有这样的表格:-

ID               Name                 Email                 UserName
1 Johen mak jojo@yahoo.com
2 jameel mak jojo@gmail.com
3 gawil gorgy jojo@homail.com
4 mak jor gop@yahoo.com

现在我需要插入 Email 列中的 UserName 值,但没有 @yahoo.com@gmail.com ....

但是如果存在重复的用户名。必须添加 _1_2 ...

但是如果任何用户有英文UserName,我们不得更改,只有在UserName不是英文时才更改和更新。所以表格必须是这样的:-

ID               Name                 Email                 UserName
1 Johen mak jojo@yahoo.com jojo
2 jameel mak jojo@gmail.com jojo_1
3 gawil gorgy jojo@homail.com jojo_2
4 mak jor gop@yahoo.com gop

我该怎么办!!!

最佳答案

这适用于非英文名称:

set @rownum := 1;
SELECT U.Email,P.total_perfix,if(P.total_perfix > 1 ,
CONCAT(P.perfix,'_', mod(@rownum:=@rownum+1,P.total_perfix)),P.perfix) as new_username
FROM USER_TABLE U , ( SELECT count(*) as total_perfix,
SUBSTRING(Email, 1, INSTR(Email, '@') - 1)
AS perfix
FROM USER_TABLE group by perfix) P
WHERE SUBSTRING(U.Email, 1, INSTR(U.Email, '@') - 1) = p.perfix
AND u.name NOT REGEXP '^[A-Za-z0-9 ]+$';

如果您删除最后一行,您将拥有所有[英语和非英语]

AND u.name NOT REGEXP '^[A-Za-z0-9 ]+$';

这里是Demo

关于mysql - SQL : Update row in table with replace word,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26981177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com