php随机生成数据库中不存在的且不重复数字,在线等!!!!!

php随机生成数据库中不存在的且不重复数字,在线等!!!!!,第1张

说下思路:

1 将生成的数字保存到mysql数据库,然后每次生成的号码不能与数据库的数字重复,请问怎么弄?

先读取数据库已存在的数字,将结果以数组格式,与rand(1,1000)的数组相比较计算差集,去除这部分数字(array_diff),再shuffle,得到新的随机数。

我觉得,你完全可以建立一个序号表,比如,1-1000,每次用时先用随机函数取(1-数据记录数)个数值,再用这个数值取得相应的记录,当取出之后,删除这个记录,这样保证记录总数一直会减少且数字也不会重复。

2 有没有什么办法生成的时候先生成一位数的,一位数生成满了以后再生出两位数的,两位数满了然后再三位数的,以此类推?

先获取一位数的记录,再从中随机抽取一个,如果数据库中没有找到一位数的,就递增一位数,直到找到为止。

3 代码的执行效率希望能越高越好!

如果想要代码执行效率,最好尽量减少与数据库的交互。

1、创建测试表,

create table test_dis(id number, name varchar2(20), value number(10));

2、插入测试数据

insert into test_dis values(1,'a',123);

insert into test_dis values(2,'b',152);

insert into test_dis values(3,'c',123);

insert into test_dis values(4,'d',520);

insert into test_dis values(5,'e',300);

commit;

3、查询表中全量数据,select t, rowid from test_dis t;

4、编写sql,查询表中某一字段不重复的所有数据,可以发现只有id为2,4,5的记录查询出。

 select from test_dis t where value in (select value from test_dis group by value having count()=1);

String name = xx(这里写你获取到的准备插入的name的值)

select name from (这里写你的表名) where name = xx;

ResustSet rs = (执行上句话生成结果集)

if(rsnext()){ (这里写发现重复时的 *** 作)

]

else{ (这里写正式的插入语句)

}

sql语句要select某字段不重复数据的步骤如下:

我们需要准备的材料分别是:电脑、sql查询器。

1、首先,打开sql查询器,连接上要查询的数据库表,例如test2表。

2、点击“查询”按钮,输入:select A,B,C from test2 group by A;。

3、点击“运行”按钮,这时字段A会以不重复的形式被查询出所有数据。

以上就是关于php随机生成数据库中不存在的且不重复数字,在线等!!!!!全部的内容,包括:php随机生成数据库中不存在的且不重复数字,在线等!!!!!、SQL 查询表中某一字段不重复的所有数据、向数据库插入的数据不重复,如何用Java做验证等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9391020.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存