使用random-ish字符串更新sql列值的一部分

时间:2017-08-10 10:32:02

标签: mysql

我需要随机分配几十万个电子邮件地址。严格来说,他们只需要匿名,但理想情况下,他们需要是独一无二的。

我知道我可以通过选择带有

的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="…"/>

我猜测替换是期待一个字符串而不是一个函数,但是无法想象从哪里开始....

2 个答案:

答案 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。