我是MySql的新手,我需要在表10000中插入随机的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 ) );
将foo
和bar
替换为数据库中存在的内容。 是可以创建一个过程,其中表和行的名称也作为参数提供,但这需要CONCAT
查询在飞行..看起来hack'ish和丑陋