请求在以下代码怎么样才能看懂里修改,怎么才能生成的随机数不重复

建了一张表,查询到了所有题目的數量,

但是现在的问题是:如果数据库删除过数据,那一行的ID还存在,但是很可能造成生成的随机数和ID对应不上,

这个时候就不能生成对应数量的题目,这种情况应该怎么办?


一朋友问题描述如下:

(1),有一個用户表有id,用户的真实名字年龄。

因为才14个汉字中取一个(数据源太少了)而且连续执行100次,有连续出现重复的随机数是正常的应该是底层的rand算法没有考虑过滤到连续重复的情况,我们不好去改动底层的mysql源码但是可以在存储过程中做一个判断,来过滤掉连续重複的情况思路是如果重复,就重新取一个不重复的


所以存储过程改动如下:


三,执行改动后的存储过程查看效果







从中看到已经连续100個随机数中,没有出现连续重复的姓名和年龄四,RAND()与RAND(N)区别每个种子产生的随机数序列是不同的如果传入N参数执行RAND(N),则每次查询到的随機数都是固定的如果没有传入N参数,则每次都是随机的值如下所示:










printf("请依次输入随机数取值的最小值最大值(之后将在这个范围内产生随机数)\n");

我要回帖

更多关于 代码怎么样才能看懂 的文章

 

随机推荐