日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

約束條件

說明

詳細內容請參考Databricks官網文章:約束條件

注意

在Databricks Runtime 7.4及更高版本中可用。

Delta表支持標準的SQL約束管理子句,以確保自動驗證添加到表中的數據的質量和完整性。當違反約束時,Delta Lake會拋出一個InvariantViolationException信號,表示無法添加新數據。

支持兩種類型的約束:

  • NOT NULL:表示特定列中的值不能為Null。

  • CHECK:表示每個輸入行的指定布爾表達式必須為true

NOT NULL約束

您在創建表時在架構中指定約束,然后使用命令刪除約束。

NOT NULLNOT NULLALTER TABLE CHANGE COLUMN。

SQL

%sql
CREATE TABLE events(
  id LONG NOT NULL,
  date STRING NOT NULL,
  location STRING,
  description STRING
);

ALTER TABLE events CHANGE COLUMN date DROP NOT NULL;

您可以使用以下命令對添加到現有的Delta表進行約束。NOT NULLALTER TABLE CHANGE COLUMN

SQL

%sql
CREATE TABLE events(
  id LONG,
  date STRING,
  location STRING,
  description STRING
);

ALTER TABLE events CHANGE COLUMN id SET NOT NULL;

如果在嵌套在結構內的列上指定了約束,則父結構也將約束為不為Null。嵌套在數組或映射類型內的列不接受約束。NOT NULLNOT NULL

CHECK 約束

注意

  • 在Databricks Runtime 7.4及更高版本中可用。

  • 在Databricks Runtime 7.3中,您可以寫入已CHECK定義約束的表,但不能創建CHECK約束。

您可以CHECK使用和命令管理約束。在將其添加到表之前,驗證所有現有行均滿足約束。

ALTER TABLE ADD CONSTRAINTALTER TABLE DROP CONSTRAINTALTER TABLE ADD CONSTRAINT

SQL

%sql
CREATE TABLE events(
  id LONG NOT NULL,
  date STRING,
  location STRING,
  description STRING
);

ALTER TABLE events ADD CONSTRAINT dateWithinRange CHECK date > '1900-01-01';
ALTER TABLE events DROP CONSTRAINT dateWithinRange;

CHECK約束在和命令的輸出中顯示為表屬性。DESCRIBE DETAILSHOW TBLPROPERTIES

SQL

%sql
ALTER TABLE events ADD CONSTRAINT validIds CHECK (id > 1000 and id < 999999);
DESCRIBE DETAIL events;
CHECK 約束