这个问题在这里已经有了答案:
如何在mysql存储过程中生成5个随机数(1个答案)
两年前关门了。
我需要一个聪明的方法,生成6个数字之间没有重复1和49,并插入每个数字列。下面是我在phpmyadmin中创建的procedere,它插入带有重复项的数字。
BEGIN
DECLARE liczba1 INT;
DECLARE liczba2 INT;
DECLARE liczba3 INT;
DECLARE liczba4 INT;
DECLARE liczba5 INT;
DECLARE liczba6 INT;
DECLARE check INT;
DECLARE count1 INT;
set count1 = 0;
while count1 < howMany DO
SELECT FLOOR(RAND()*(49-1)+1) into liczba1;
SELECT FLOOR(RAND()*(49-1)+1) into liczba2;
SELECT FLOOR(RAND()*(49-1)+1) into liczba3;
SELECT FLOOR(RAND()*(49-1)+1) into liczba4;
SELECT FLOOR(RAND()*(49-1)+1) into liczba5;
SELECT FLOOR(RAND()*(49-1)+1) into liczba6;
INSERT INTO kupony VALUES(NULL, 1, liczba1, liczba2, liczba3, liczba4, liczba5, liczba6, -1, '2018-01-01', -1);
set count1 = count1 + 1;
end while;
END
2条答案
按热度按时间bt1cpqcv1#
你能从9到9插入你的数字吗,比如liczba1在1到9之间,liczba2在10到18之间,liczba3在19到27之间。。。比如:
htzpubme2#
方案1:
您可以将随机数计算成一个循环,当所有数字都不同时退出循环:
免责声明:未测试,可能是一些打字错误。
方案2:
您可以使用视图计算出一些不同的随机数并将其插入: