微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

clickhouse_driver.errors.ServerException:代码:62.DB :: Exception:语法错误

如何解决clickhouse_driver.errors.ServerException:代码:62.DB :: Exception:语法错误

我的功能有误。

self.client是Click House驱动程序--- from clickhouse_driver import Client

我用键=“ 4”调用函数

def multi_get(self,keys: str) -> dict:
        if not self.initialized:
            self.make_table()
        keys_joined = "'" + "','".join(keys) + "'"
        print(f"PPPP_1 {keys_joined}") # 4
        found = self.client.execute(
            f'SELECT max(arrivalTime),key,argMax(data,arrivalTime)'
            f' FROM {self.database}.cache'
            f' WHERE key in ({keys_joined})'
            f' and arrivalTime > Now() - INTERVAL {self.expiration_interval}'
            ' GROUP BY key'
        )

并收到错误如何解决错误

receive_packet中的文件“ /home/alex/.local/lib/python3.6/site-packages/clickhouse_driver/client.py”,第118行 引发packet.exception clickhouse_driver.errors.ServerException:代码:62。 DB :: Exception:语法错误:在位置137('GROUP')处失败:GROUP BY键。预期的值之一:HOUR,DD,sql_TSI_QUARTER,S,sql_TSI_YEAR,YEAR,LIKE,

解决方法

错误消息试图告诉您。

这里:

and arrivalTime > now() - INTERVAL {self.expiration_interval}

这将生成无效的SQL。 INTERVAL需要一个单位,例如INTERVAL 1 HOUR,否则。可以找到受支持的类型的列表in the documentation

SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR

也许你想要

and arrivalTime > now() - INTERVAL {self.expiration_interval} HOUR

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。