約束磚

磚支持標準的SQL約束管理的條款。約束分為兩類:

  • 執行的質量和完整性約束確保數據添加到表自動驗證。

  • 信息主鍵和外鍵約束編碼表字段之間的關係,不執行。

所有約束磚需要三角洲湖。

三角洲生活表也有類似的概念,即預期。看到管理數據質量與達美住表

強製約束磚

當違反條件,事務失敗的錯誤。支持兩種類型的約束:

  • :表明特定列中的值不能為空。

  • 檢查:表明指定的布爾表達式必須對每個輸入行。

重要的

添加一個約束表作家協議版本自動升級版本低於3如果前麵的作家。看到磚三角洲湖管理功能的兼容性如何?理解表協議版本和升級協議版本意味著什麼。

設置一個約束在磚

請注意

  • 有磚運行時7.4及以上。

你指定當你創建一個表約束模式。你可以刪除或添加限製使用改變改變命令。

創建people10m(idINT,firstName字符串,middleName字符串,字符串,性別字符串,生日時間戳,ssn字符串,工資INT)使用δ;改變people10m改變middleName下降;改變people10m改變ssn;

之前添加一個約束一個表,滿足約束磚確認所有現有的行。

如果你指定一個約束列嵌套在一個結構體,父結構也必須非空。列嵌套數組或地圖類型不接受約束。

看到創建表(使用)改變改變列的表

設置一個檢查約束在磚

請注意

  • 在磚運行時7.4及以上。

  • 在磚運行時7.3 LTS表你可以寫檢查約束定義但你不能創建檢查約束。

你管理檢查限製使用改變添加約束改變下降約束命令。改變添加約束驗證所有現有行滿足約束添加到表之前。

創建people10m(idINT,firstName字符串,middleName字符串,字符串,性別字符串,生日時間戳,ssn字符串,工資INT)使用δ;改變people10m添加約束dateWithinRange檢查(生日>“1900-01-01”);改變people10m下降約束dateWithinRange;

看到ALTER TABLE添加約束ALTER TABLE下降約束

檢查約束是公開為表屬性的輸出描述細節顯示TBLPROPERTIES命令。

改變people10m添加約束validIds檢查(id>1id<99999999);描述細節people10m;顯示TBLPROPERTIESpeople10m;

申報的主鍵和外鍵關係

預覽

這個特性是在公共預覽

請注意

  • 主鍵和外鍵約束磚運行時的11.1及以上。

  • 主鍵和外鍵約束要求統一目錄和三角洲湖。

您可以使用主鍵和外鍵關係統一編目表的字段。主鍵和外鍵信息,不執行。外鍵必須引用另一個表中的主鍵。

可以聲明主鍵和外鍵的表在表創建規範條款。這一條款是不允許在cta語句。你也可以添加到現有表的約束。

創建T(pk1整數,pk2整數,約束t_pk關鍵(pk1,pk2));創建年代(pk整數關鍵,fk1、整數,fk2整數,約束s_t_fk外國關鍵(fk1、,fk2)引用T);

你可以查詢information_schema或使用描述讓細節如何約束在一個給定的應用目錄。

看到的: