SQLite3約束介紹
阿新 • • 發佈:2018-11-05
SQLite 約束
約束是在表的資料列上強制執行的規則。這些是用來限制可以插入到表中的資料型別。這確保了資料庫中資料的準確性和可靠性。
約束可以是列級或表級。列級約束僅適用於列,表級約束被應用到整個表。
以下是在 SQLite 中常用的約束。
-
NOT NULL 約束:確保某列不能有 NULL 值。
-
DEFAULT 約束:當某列沒有指定值時,為該列提供預設值。
-
UNIQUE 約束:確保某列中的所有值是不同的。
-
PRIMARY Key 約束:唯一標識資料庫表中的各行/記錄。
-
CHECK 約束:CHECK 約束確保某列中的所有值滿足一定條件。
CHECK 約束
CHECK 約束啟用輸入一條記錄要檢查值的條件。如果條件值為 false,則記錄違反了約束,且不能輸入到表。
例項
例如,下面的 SQLite 建立一個新的表 COMPANY,並增加了五列。在這裡,我們為 SALARY 列新增 CHECK,所以工資不能為零:
CREATE TABLE COMPANY3(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL CHECK(SALARY > 0) );
刪除約束
SQLite 支援 ALTER TABLE 的有限子集。在 SQLite 中,ALTER TABLE 命令允許使用者重命名錶,或向現有表新增一個新的列。重新命名列,刪除一列,或從一個表中新增或刪除約束都是不可能的。