插入大量日期

Rad*_*dhe 2 php mysql sql

如何使用sql在一年中(或更多)插入一年中的所有日期

我的dates表有以下结构

dates(date1 date);

假设我想插入之间的日期"2009-01-01",以"2010-12-31"包容性.

上面有没有sql查询?

Ric*_*son 7

使用存储过程和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)