1

我正在尝试将列的类型从 UUID 更改为 TIMEUUID,但我无法这样做。

ALTER TABLE Person ALTER KEY TYPE timeuuid;

错误:

错误请求:无法将 uuid 类型的密钥更改为 timeuuid 类型:类型不兼容。

关于如何在不丢失列族数据的情况下实现这一目标的任何想法?

4

1 回答 1

2

不允许。这是因为 TimeUUID 与常规 UUID 具有不同的排序模式,因此 Cassandra 不允许这样做。如果您不关心按时间排序的列,则可以在应用程序中生成和使用 TimeUUID,而无需更改 Cassandra 中的列类型,但如果与那些现有列混合,排序可能会乱序。如果您绝对需要这样做,您唯一的选择是迁移现有数据并将其列更改为 UUID 到新的列族。

于 2014-02-03T23:22:33.453 回答