【问题标题】:How to use auto increment index in Tarantool?如何在 Tarantool 中使用自增索引?
【发布时间】:2023-03-31 05:39:02
【问题描述】:

我做了自增索引:

box.space.metric:create_index('primary', {
        parts = {{'id', 'unsigned'}},
        sequence = true,
})

然后我尝试在 id 字段中传递 nil:

metric.id = nil

当我尝试插入这些值时,我发现错误:

Tuple field 1 type does not match one required by operation: expected unsigned

我必须为自动增量字段传递什么值?

第二个问题。如果我使用很少实例的 tarantool-cluster(例如基于盒式应用程序),是否证明使用自动增量索引?会不会出现不同实例上会有重复键的情况?

【问题讨论】:

    标签: tarantool


    【解决方案1】:

    无法通过nil。当您分配 nil 时,您会擦除字段。请改用box.NULL。 但更好的是,使用某种集群 id,它在集群中表现良好,而不是自动增量,它只在一个节点内工作。

    对于集群范围的 id,我可以建议 UUID 或类似 ULID 的东西(例如来自 https://github.com/moonlibs/id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多