MySQL更改电子邮件域

时间:2017-03-20 22:32:30

标签: mysql sql email

我正在使用benkeens开源脚本(http://benkeen.github.io/generatedata/)来生成随机数据。问题是它在数据库中提供了奇怪的电子邮件域。我用来更改域名的代码是:

UPDATE   emails
 SET      email_address = CONCAT(LEFT(email_address, INSTR(column, '@')), 'google.com')
 WHERE    email LIKE '%@magnamalesuada.org%';

唯一的问题是,生成了几百个不同的域。是否有可能以更有效的方式将域名更改为google,yahoo,hotmail等?

1 个答案:

答案 0 :(得分:0)

假设您有一个id列,您可以使用%运算符将行划分为组,例如3:

UPDATE   emails
 SET      email_address = CONCAT(LEFT(email_address, INSTR(column, '@')), 'google.com')
 WHERE    id%3=0;

UPDATE   emails
 SET      email_address = CONCAT(LEFT(email_address, INSTR(column, '@')), 'yahoo.com')
 WHERE    id%3=1;

UPDATE   emails
 SET      email_address = CONCAT(LEFT(email_address, INSTR(column, '@')), 'hotmail.com')
 WHERE    id%3=2;