问题描述
我正在尝试创建一个自动自动生成的简单表身份密钥,但 Cockroachdb 为关键字 GENERATED
抛出了语法错误。有什么我遗漏的吗?
CREATE TABLE IF NOT EXISTS "users"
(
"id" bigint GENERATED BY DEFAULT AS IDENTITY NOT NULL,"age" bigint NOT NULL,"name" varchar NOT NULL DEFAULT '',"email" varchar NOT NULL,PRIMARY KEY("id")
);
解决方法
您可能想改用 unique_rowid
。它是有时间顺序的。我已成功将其用于流式数据摄取应用程序。
如果您的应用程序执行大量并发插入,您可能会使用 uuid_v4
。它是无序的,但不会减慢并发连接上的插入速度。
CockroachDB 似乎为此使用了 SERIAL
:
"id" serial8 primary key,
请注意,由于 Cockroach 是分布式数据库,因此会引入争用,并且不建议将 SERIAL
分配给行的唯一 ID。