mysql - Mysql:查询以更新具有唯一随机值的电子邮件
问题描述
我需要匿名化数据库中的电子邮件,所以我尝试设置一个查询,但我找不到为每个邮件生成唯一随机字符串的方法。到目前为止我所拥有的是:
update candidate set email = (select CONCAT(SUBSTRING(MD5(RAND()) FROM 1 FOR 15) , '@test.fr'));
但显然该值不是唯一的,通过简单的查询可以实现吗?
我在这里尝试了解决方案:https ://harrybailey.com/2015/08/mysql-roughly-random-string-generation-for-updating-rows/但结果相同,我得到了
错误代码:1062。密钥“电子邮件”的重复条目“0417da5fb3d071b9bd10”
解决方案
您可以使用 UUID
UPDATE `candidate` SET email = CONCAT(MD5(UUID()),'@test.fr');
如果你想要正好 15 个字符
UPDATE candidate SET email=CONCAT(SUBSTRING(MD5(UUID()),1,15) , '@test.fr');
推荐阅读
- css - 两个 Bootstrap4 容器的大小调整方式不同
- json - 当模型获取和解码 json 时,来自另一个视图的 reloda 数据
- android - 为什么 startActivityForResult 中的 requestCode 可以是任何东西
- python - 如何修复“模型不包含 SBML fbc 包信息”。
- c# - 以编程方式添加 SSL 证书以开始工作 https
- vhdl - 是否可以使用带有 vhdl 的操纵杆?
- c++ - 严重性代码描述项目文件行抑制状态错误 C2676 二进制“>>”:“std::ifstream”
- javascript - 访问嵌套元素
- java - java字节否定的python等效项
- react-native - React Native 请求失败,状态码为 400