我想填充具有下一个结构的表:
USERS_TABLE
ID_USR (Primary_Key, AUTO_INCREMENT)
USERNAME (Not Null)
EMAIL (Not Null, Unique Key)
Password(Not Null)
Nacionality (Not Null)
Work (Null)
我想用PHP脚本来做。创建脚本对我来说不是问题,但我对电子邮件的字段有些怀疑。我不想要真实姓名或电子邮件,只需要数据和引入超过10-100行的可能性。
所以使用ID_USR我没有问题,因为它是一个自动增量值,没有null或null字段的问题。
现在想想电子邮件,因为你看到它是一个独特的密钥,所以我考虑放置两个随机数值,一个在@之前,一个在@之后,然后是扩展。
示例:
<?php
for ($i = 0; $i < 10; $i++)
{
$a = rand();
$b = rand(); // array("gmail", "facebook", "hotmail", "outlook", "yahoo".....);
$extension = array(".com", ".es", ".net", ".org"); // ....
$c = rand(0,3);
$email = $a."@".$b."".$extension[$c];
echo "$email";
}
?>
它回到我身边:
2095518299@699790428.com
254450939@1623171070.org
1142680888@2074501004.org
1940419404@1779299580.es
726585010@1262850036.net
578544275@145818927.net
2067281904@1894405902.org
275443932@1915863743.es
734209458@1269004984.com
1035465063@1828742272.net
正如您所看到的,这可行,但我的问题是,是否有更智能/更有效的方式。
我认为这可能具有建设性,所以我希望你的回答。见到你。
答案 0 :(得分:2)
如果我是你,我会使用你控制的域名作为电子邮件地址的域名部分。也就是说,
726585010@emailtest.yoyodyne.com
578544275@emailtest.yoyodyne.com
2067281904@emailtest.yoyodyne.com
(如果您碰巧为Yoyodyne工作。)这样可以防止随机生成的电子邮件地址逃逸到野外,如果您出错并尝试发送给所有人。
然后,使用较长的随机数作为数字,这样就不会发生很多意外碰撞。你可能会得到一些。
最后,在填充表格之后,在使用之前,请返回并更改电子邮件列,使其包含ID号。
UPDATE USERS_TABLE SET EMAIL = CONCAT(ID_USR,'@emailtest.yoyodyne.com')
这样,您的测试可以很容易地追溯到特定的用户行。