首页 > 解决方案 > 错误请求:timeuuid 类型的无效 STRING 常量 ...

问题描述

当我这样做时,select * from "TableToFetch" where column1='2js88saa-33oo-pzl7-b517-8584j2kf8wdd';我收到此错误:

错误请求:timeuuid 类型的 column1 的 STRING 常量 (2js88saa-33oo-pzl7-b517-8584j2kf8wdd) 无效

这些没有帮助:

select * from "TableToFetch" where column1="2js88saa-33oo-pzl7-b517-8584j2kf8wdd";返回

错误请求:第 1:52 行输入“​​2js88saa-33oo-pzl7-b517-8584j2kf8wdd”没有可行的替代方案

select * from "TableToFetch" where column1=2js88saa-33oo-pzl7-b517-8584j2kf8wdd;返回

错误请求:TimeUUID 仅支持版本 1 UUID

我该怎么办?

标签: cassandra

解决方案


前两个错误是由于您将 uuid 用引号括起来的事实引起的:第一个被解释为字符串,第二个没有被识别为任何类型。

UUID 和 TimeUUID 可以/应该在不带任何引号的查询中使用。

第三条错误消息与 TimeUUID 类型有关,Apache Cassandra 使用类型 1 的 UUID,因此这似乎2js88saa-33oo-pzl7-b517-8584j2kf8wdd不是有效的类型 1 UUID。对我来说,您的查询似乎没问题。

此外,我不确定您如何执行查询(cql 或通过驱动程序)或您使用什么版本的 Cassandra,但这个答案也可能与您相关:

https://stackoverflow.com/a/17946236/9020666


推荐阅读