By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table x (
timestamp date,
column1 int,
column2 int
)
set @date1 = '2020-01-01';
set @date2 = '2020-01-31';
insert into x (timestamp, column1, column2)
with recursive cte as (
select @date1 as dte
union all
select dte + interval 1 day
from cte
where dte < @date2
)
select dte, null, null
from cte;
Records: 31 Duplicates: 0 Warnings: 0
select *
from x
timestamp | column1 | column2 |
---|---|---|
2020-01-01 | null | null |
2020-01-02 | null | null |
2020-01-03 | null | null |
2020-01-04 | null | null |
2020-01-05 | null | null |
2020-01-06 | null | null |
2020-01-07 | null | null |
2020-01-08 | null | null |
2020-01-09 | null | null |
2020-01-10 | null | null |
2020-01-11 | null | null |
2020-01-12 | null | null |
2020-01-13 | null | null |
2020-01-14 | null | null |
2020-01-15 | null | null |
2020-01-16 | null | null |
2020-01-17 | null | null |
2020-01-18 | null | null |
2020-01-19 | null | null |
2020-01-20 | null | null |
2020-01-21 | null | null |
2020-01-22 | null | null |
2020-01-23 | null | null |
2020-01-24 | null | null |
2020-01-25 | null | null |
2020-01-26 | null | null |
2020-01-27 | null | null |
2020-01-28 | null | null |
2020-01-29 | null | null |
2020-01-30 | null | null |
2020-01-31 | null | null |