使用存储过程和REPEAT UNTIL的纯mysql解决方案:
delimiter //
CREATE PROCEDURE insert_many_dates(number_to_insert INT)
BEGIN
SET @x = 0;
SET @date = '2010-01-01';
REPEAT
SET @x = @x+1;
INSERT INTO your_table(your_column) VALUES(@date);
SET @date = DATE_ADD(@date, INTERVAL 1 day);
UNTIL @x > number_to_insert END REPEAT;
END
//
delimiter ;
Run Code Online (Sandbox Code Playgroud)
叫它
CALL insert_many_dates(1000);
Run Code Online (Sandbox Code Playgroud)