如何在 Tarantool 中使用自动增量索引?

How to use auto increment index in Tarantool?

我做了自动增量索引:

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 与几个实例一起使用(例如基于盒式应用程序),它是否证明使用了自动增量索引?会不会有不同实例有重复key的情况?

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

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