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