【问题标题】:Auto-increment support in CockroachDBCockroachDB 中的自动增量支持
【发布时间】:2017-09-05 21:42:55
【问题描述】:

在 MySQL 中,我可以使用 AUTO INCREMENT 为我的应用程序的客户生成唯一 ID。使用 CockroachDB 时如何获得类似的功能?

【问题讨论】:

    标签: cockroachdb


    【解决方案1】:

    应用程序不能使用像SEQUENCEAUTO_INCREMENT 这样的结构,并且还期望水平可伸缩性——这是任何分布式数据库的普遍限制。相反,CockroachDB 提供了自己的 SERIAL 类型,该类型生成递增但不一定连续的值。

    例如,您将使用: CREATE TABLE customers (id SERIAL PRIMARY KEY, name STRING); 然后当你插入值时,你会使用类似的东西: INSERT INTO customers (name) VALUES ('Kira Randell') RETURNING id; 这将返回随机生成的 ID,您可以在应用程序的其他地方使用它

    【讨论】:

    • 谢谢,很好的答案。实际上,SERIAL 不生成连续值并不罕见,因为其他 SQL 数据库经常因为缓存序列或回滚插入的问题而留下间隙。
    猜你喜欢
    • 1970-01-01
    • 2017-09-05
    • 2023-02-09
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 2017-09-07
    • 2018-12-13
    • 2020-02-07
    相关资源
    最近更新 更多