要创建表,请使用:
CREATE TABLE rand_numbers (
number INT NOT NULL
) ENGINE = MYISAM;
然后,用随机值填充它,您可以定义一个存储过程(它支持循环):
DELIMITER $$
CREATE PROCEDURE InsertRand(IN NumRows INT, IN MinVal INT, IN MaxVal INT)
BEGIN
DECLARE i INT;
SET i = 1;
START TRANSACTION;
WHILE i <= NumRows DO
INSERT INTO rand_numbers VALUES (MinVal + CEIL(RAND() * (MaxVal - MinVal)));
SET i = i + 1;
END WHILE;
COMMIT;
END$$
DELIMITER ;
CALL InsertRand(1111, 2222, 5555);
然后,您可以重复使用该过程以根据不同的参数插入更多的随机值。例如说600行的随机值介于1200和8500之间:
CALL InsertRand(600, 1200, 8500);