问题遇到的现象和发生背景
SQL生成一段时间内的日期,好像是存储在临时表的,可以查询显示,但是不能保存到新表中,请问有什么代码可以保存呢?
问题相关代码,请勿粘贴截图
生成的一段时间内的连续日期,可以select看到日期,但是将此保存到已有表或者保存到新表都报错
- 可以查询连续日期的sql代码(结果可以正常显示):
WITH RECURSIVE cte (d) AS
(SELECT '2021-01-04'
UNION ALL
SELECT d + INTERVAL 1 DAY
FROM cte
WHERE d + INTERVAL 1 DAY <= '2021-01-09')
SELECT *
FROM cte
ORDER BY cte.d;
- 想要将连续的日期保存在新表中,发现报错,代码如下
(1)insert into已有表table3,只有一个字段date,发生报错
WITH RECURSIVE cte (d) AS
(SELECT '2021-01-04'
UNION ALL
SELECT d + INTERVAL 1 DAY
FROM cte
WHERE d + INTERVAL 1 DAY <= '2021-01-09')
INSERT into table3(date) -- 结果保存
select *
from cte
报错为:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT into table3(date)
select d
from cte' at line 7
时间: 0.099s
(2)尝试保存到新表table2中,发生报错
WITH RECURSIVE cte (d) AS
(SELECT '2021-01-04'
UNION ALL
SELECT d + INTERVAL 1 DAY
FROM cte
WHERE d + INTERVAL 1 DAY <= '2021-01-09')
CREATE table table2 as -- 结果保存
select *
from cte
报错为:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE table table2 as -- 结果保存
select *
from cte' at line 7
时间: 0.096s
运行结果及报错内容
我的解答思路和尝试过的方法 、
尝试了多种方式保存结果(已有表/新表)还是报错
我想要达到的结果
将一段时间内的连续日期保存到表中,之后方便和其他日期的数据join