尝试在 CockroachDb 中使用 GENERATED BY DEFAULT AS IDENTITY 时出现 SQL 错误

问题描述

我正在尝试创建一个自动自动生成的简单表身份密钥,但 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。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...