搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 如何自动生成不容易重复的六位数
标题:
如何自动生成不容易重复的六位数
只看楼主
fanjinyu9108
等 级:
论坛游民
帖 子:644
专家分:20
注 册:2014-1-16
结帖率:
88.5%
楼主
已结贴
√
问题点数:20 回复次数:34
如何自动生成不容易重复的六位数
我自己设置了自动生成的6位数,代码如下;
mymima=100000*INT(10*RAND())+10000*INT(10*RAND())+1000*INT(10*RAND())+100*INT(10*RAND())+10*INT(10*RAND())+INT(10*RAND())
但是使用者说六位数经常重复,请问这样弄,能让其重复的几率小啊
搜索更多相关主题的帖子:
如何
2015-01-10 12:52
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
2
楼
得分:3
用途是什么
[
本帖最后由 sdta 于 2015-1-10 13:11 编辑
]
坚守VFP最后的阵地
2015-01-10 13:02
karycheung
等 级:
新手上路
帖 子:6
专家分:3
注 册:2014-12-30
第
3
楼
得分:3
? INT(RAND(SEC(DATE()))*1000000)
用秒來加入一個變數,就不會重複,你想要幾多位數字改變后面的值就行,6位數就1+7個零
2015-01-10 13:46
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
4
楼
得分:0
只要用RAND(),数字重复就不可避免。
可以用0-9组合不重复的六位数字,可以生成151200条不重复的记录。
坚守VFP最后的阵地
2015-01-10 14:02
fanjinyu9108
等 级:
论坛游民
帖 子:644
专家分:20
注 册:2014-1-16
第
5
楼
得分:0
怎么弄啊,能告诉我吗,我的用途是作为一个表每一条数据的密码,这个表大概2000条左右的记录,记录的密码不能重复,表中的记录不停的删除,又不停地增加,删除后的那条记录密码就不要了,增加的记录又生成新的密码。
2015-01-10 14:40
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
6
楼
得分:3
随机数不等于不重复。
也可看看 RIGHT(SYS(3),6) 或 转换SYS(2015),本次运行期间应该不会有重复。
2015-01-10 14:41
fanjinyu9108
等 级:
论坛游民
帖 子:644
专家分:20
注 册:2014-1-16
第
7
楼
得分:0
用秒有些不妥,因为一秒内有时会同时产生几个密码,就会重复
2015-01-10 14:41
fanjinyu9108
等 级:
论坛游民
帖 子:644
专家分:20
注 册:2014-1-16
第
8
楼
得分:0
我的要求是在一天之内生成大约4000个,最好不重复,因为程序会检测,如果重复,就再生成新的密码,有些浪费资源
2015-01-10 14:44
fanjinyu9108
等 级:
论坛游民
帖 子:644
专家分:20
注 册:2014-1-16
第
9
楼
得分:0
我用吹水佬师傅的试验下,一次生成1000条密码,看重复的概率有多大
2015-01-10 14:48
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
10
楼
得分:0
如果要有永久唯一性,每次随机必须在 000000 -- 999999 比对。
也可以这样:
1、建立 1000000 条记录的表,每条记录就是 PADL(RECNO()-1, 6, "0")
2、每次取一个随机的记录号(注意要求小于或等于RECCOUNT()),取出表中此记录号的值就是所要的随机号,之后删除此条记录。
2015-01-10 15:24
35
1/4页
1
2
3
4
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-440945-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.385515 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved