如何解决clickhouse_driver.errors.ServerException:代码:62.DB :: Exception:语法错误
我的功能有误。
self.client
是Click House驱动程序--- from clickhouse_driver import Client
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 举报,一经查实,本站将立刻删除。