CockroachDB 中的自动增量支持
Posted
技术标签:
【中文标题】CockroachDB 中的自动增量支持【英文标题】:Auto-increment support in CockroachDB 【发布时间】:2017-09-05 21:42:55 【问题描述】:在 mysql 中,我可以使用 AUTO INCREMENT
为我的应用程序的客户生成唯一 ID。使用 CockroachDB 时如何获得类似的功能?
【问题讨论】:
【参考方案1】:应用程序不能使用像SEQUENCE
或AUTO_INCREMENT
这样的结构,并且还期望水平可伸缩性——这是任何分布式数据库的普遍限制。相反,CockroachDB 提供了自己的 SERIAL
类型,该类型生成递增但不一定连续的值。
例如,您将使用:
CREATE TABLE customers (id SERIAL PRIMARY KEY, name STRING);
然后当你插入值时,你会使用类似的东西:
INSERT INTO customers (name) VALUES ('Kira Randell') RETURNING id;
这将返回随机生成的 ID,您可以在应用程序的其他地方使用它
【讨论】:
谢谢,很好的答案。实际上,SERIAL 不生成连续值并不罕见,因为其他 SQL 数据库经常因为缓存序列或回滚插入的问题而留下间隙。以上是关于CockroachDB 中的自动增量支持的主要内容,如果未能解决你的问题,请参考以下文章