CockroachDB 中的自动增量支持
Auto-increment support in CockroachDB
在 MySQL 中,我可以使用 AUTO INCREMENT
为我的应用程序的客户生成唯一 ID。如何在使用 CockroachDB 时获得类似的功能?
应用程序不能使用像 SEQUENCE
或 AUTO_INCREMENT
这样的结构,也不能期望水平可伸缩性——这是任何分布式数据库的普遍限制。相反,CockroachDB 提供了它自己的 SERIAL
类型,它生成递增但不一定连续的值。
例如,您将使用:
CREATE TABLE customers (id SERIAL PRIMARY KEY, name STRING);
然后当你插入值时,你会使用类似的东西:
INSERT INTO customers (name) VALUES ('Kira Randell') RETURNING id;
这将 return 随机生成的 ID,您可以在应用程序的其他地方使用它
在 MySQL 中,我可以使用 AUTO INCREMENT
为我的应用程序的客户生成唯一 ID。如何在使用 CockroachDB 时获得类似的功能?
应用程序不能使用像 SEQUENCE
或 AUTO_INCREMENT
这样的结构,也不能期望水平可伸缩性——这是任何分布式数据库的普遍限制。相反,CockroachDB 提供了它自己的 SERIAL
类型,它生成递增但不一定连续的值。
例如,您将使用:
CREATE TABLE customers (id SERIAL PRIMARY KEY, name STRING);
然后当你插入值时,你会使用类似的东西:
INSERT INTO customers (name) VALUES ('Kira Randell') RETURNING id;
这将 return 随机生成的 ID,您可以在应用程序的其他地方使用它