如何插入随机数MySql

时间:2012-03-29 14:54:22

标签: mysql

我是MySql的新手,我需要在表10000中插入随机的2位数字。对此有简单的方法吗?

2 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:5)

试试这个:

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 ;

要使用它:

CALL random_fill(10000);

你需要改变的是这一行:

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

foobar替换为数据库中存在的内容。 可以创建一个过程,其中表和行的名称也作为参数提供,但这需要CONCAT查询在飞行..看起来hack'ish和丑陋