Mysql 如何插入随机数

Mysql 如何插入随机数,mysql,Mysql,我是MySql新手,我需要在表中插入10000个随机的两位数。有没有简单的方法可以做到这一点?如前所述使用RAND()。要生成10到99之间的2位随机数,请使用FLOOR(10+(RAND()*90))尝试以下方法: DELIMITER $$ CREATE PROCEDURE random_fill( IN cnt INT ) BEGIN fold: LOOP IF cnt < 1 THEN LEAVE fold;

我是MySql新手,我需要在表中插入10000个随机的两位数。有没有简单的方法可以做到这一点?

如前所述使用
RAND()
。要生成10到99之间的2位随机数,请使用
FLOOR(10+(RAND()*90))

尝试以下方法:

DELIMITER $$
CREATE PROCEDURE random_fill( IN cnt INT )
BEGIN

    fold: LOOP

         IF cnt < 1 THEN
             LEAVE fold;
         END IF;

        INSERT INTO foo ( bar ) VALUES ( 9 + CEIL( RAND() * 90 ) );

        SET cnt = cnt - 1;
    END LOOP fold;

END$$   
DELIMIMTER ;
您需要更改的是这一行:

INSERT INTO foo ( bar ) VALUES ( CEIL( RAND() * higher ) );

用数据库中存在的内容替换
foo
bar
可以创建一个过程,其中表和行的名称也作为参数提供,但这需要动态地
CONCAT
查询。。看起来既有黑客味又丑陋。

写一个带循环的存储过程可能是重复的。我在回答中使用了你的公式+1为你,这样我就可以避免侵犯版权!!!我建议在那里进行交易。没有它,100K插入超时22k,有了它,在我的开发机器上,100K花费了4.047秒。
INSERT INTO foo ( bar ) VALUES ( CEIL( RAND() * higher ) );