我需要随机分配几十万个电子邮件地址。严格来说,他们只需要匿名,但理想情况下,他们需要是独一无二的。
我知道我可以通过选择带有
的unix时间戳来生成相当随机的字符串@anonymised.com
所以我接下来要用@字符串替换@之前的所有内容,然后用LEFT(email,INSTR(email,"@")-1)
替换字符串后的所有内容。
我坚持的部分是如何将unix时间戳插入电子邮件地址的特定部分。我知道我可以使用
获取@符号左侧的字符UPDATE USERS SET email = REPLACE(LEFT(email,INSTR(email,"@")-1), UNIX_TIMESTAMP())
并且我知道我可以使用REPLACE命令替换字符串的一部分,但是将这两者组合起来不起作用....
<noscript>
<img alt="…" src="…"/>
</noscript>
<img alt="…" data-src="…"/>
我猜测替换是期待一个字符串而不是一个函数,但是无法想象从哪里开始....
答案 0 :(得分:0)
抱歉,解决方案就像
一样简单update employees set email = CONCAT(UNIX_TIMESTAMP() , '@anonymised.com')
答案 1 :(得分:0)
这个怎么样:
SELECT CONCAT(UNIX_TIMESTAMP(),SUBSTR(email,INSTR(email,'@'))) FROM USERS
?
如果UNIX_TIMESTAMP()无法满足您的要求,请查看https://www.cemgokmen.com/random-unique-string-generation-using-mysql/
干杯,J。