神经森森是我鸭 2022-08-17 10:47 采纳率: 0%
浏览 100
已结题

sql将一段时间内的连续日期保存到表中出现error

问题遇到的现象和发生背景

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

  • 写回答

4条回答 默认 最新

  • 三千烦恼丝xzh 2022-08-17 11:19
    关注
    获得0.98元问题酬金

    可以的,只是顺序要换一下,CTE后面只能跟select

    insert into table_name 
    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
    
    评论
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 创建了问题 8月17日

悬赏问题

  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥15 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?