繁体   English   中英

id 的 Oracle DB 数据类型

[英]Oracle DB data type for id

通常在 postgrest 中,uuid 数据类型用于 id,

create table "users"
(
    "id"         uuid                           not null,
    "password"   varchar(255)                   not null,
    "name"       varchar(255)                   not null,
    "surname"    varchar(255)                   not null,
    "created_at" timestamp  null,
    "updated_at" timestamp  null,
    "deleted_at" timestamp  null
);
alter table "users"
    add primary key ("id");    

但在 oracle 中它给了我一个错误:

ORA-00902: 无效的数据类型 Blockquote ORA-00904: “id”: 无效的标识符

那么,推荐使用什么类型的数据呢? 因为 BIGINT 也是不允许的。 是否只使用了 NUMBER?

那么,推荐使用什么类型的数据呢?

最适合您的业务案例的任何内容。


  • 如果您的数据由人类可读的短字符串唯一标识,则可以使用VARCHAR2CHAR作为主键。
  • 如果您有由数字列唯一标识的数据,则使用NUMBER
  • 如果您有一个每秒(或一天)的值,那么您可以使用DATE

如果您要生成代理主键,则:

  • 如果您想使用IDENTITY列,那么您将需要一个NUMBER
  • 如果要生成 GUID,则可以使用RAW并默认为SYS_GUID() ,或者可以使用VARCHAR2CHAR作为格式化的 GUID。

关键是没有推荐的主键数据类型; 它是最适合您正在实施的特定业务案例的任何内容。

要存储 UUID,您可以使用字段类型VARCHAR(36)VARCHAR2(36)

为什么?
UUID 是一个 36 个字符的字符串,包含十六进制字符(0-9,AF),各部分之间用-分隔

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM