我是MySQL的新手,需要将10000个随机的两位数插入表格中。有没有简单的方法来完成这个任务?
我是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 ;
使用方法:
CALL random_fill(10000);
INSERT INTO foo ( bar ) VALUES ( CEIL( RAND() * higher ) );
用数据库中存在的内容替换foo
和bar
。可以创建一个过程,在其中也提供表格和行名称作为参数,但需要在查询中使用CONCAT
,看起来很不正常且丑陋。