背景
想要自动生成2018-2021之间,3年的日期在一个新表中,但是无奈报错
3636 - Recursive query aborted after 1001 iterations. Try increasing @@cte_max_recursion_depth to a larger value.
具体的SQL代码见
//
INSERT into fulldate -- 全部日期
WITH RECURSIVE cte (d) AS
(SELECT '2018-01-01'
UNION ALL
SELECT d + INTERVAL 1 DAY
FROM cte
WHERE d + INTERVAL 1 DAY <= '2021-01-01')
select * from cte
解决方案
非常奇怪的一点是,生成20180101-20180101是不会报错的
但是生成20180101-20210101就会报错
佛了
在网上找相关的报错解决方式都好像很复杂
所以不然就生成两个表最后再union吧
猫猫叹气