生成100万个长度为4的随机数

xoefb8l8  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(529)

有没有什么方法可以让我们在0-9999之间产生100万个长度为4的随机数?然后我必须将它们存储在mysql数据库中,我使用的语言是java。

h7wcgrx3

h7wcgrx31#

mysql(不包括mariadb)似乎不支持任何内置的序列生成功能。考虑到您使用的是java,我可能会在那里处理您的问题。
如果您想要一个mysql解决方案,那么这里有一个选项。我们可以使用带有交叉联接的numbers表/cte生成一个长度为100万的动态序列。如果您使用的是<mysql 8,那么就用一个内联表替换cte。

WITH digits AS (
    SELECT 0 AS digit UNION ALL 
    SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL
    SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL
    SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9        
)

INSERT INTO rand_table (val)
SELECT RAND()*10000
FROM digits d1
CROSS JOIN digits d2
CROSS JOIN digits d3
CROSS JOIN digits d4
CROSS JOIN digits d5
CROSS JOIN digits d6;

相关问题