簡體   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