CHECK 檢查限制 (SQL CHECK Constraint)
CHECK 限制用來約束欄位中的可用值,以保證該欄位中的資料值都會符合您設定的條件。CHECK Constraint
假設我們要限制「customer」資料表中的「C_Id」欄位值都必需要大於「0」:在建立資料表同時 - CREATE TABLE...
MySQL
CREATE TABLE customer ( C_Id INT NOT NULL, Name VARCHAR(50) NOT NULL, Address VARCHAR(255), Phone VARCHAR(20), CHECK (C_Id>0) );
在MySQL增加check限制不會有錯誤,但是沒有用,CHECK並不會被執行喔!
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE customer ( C_Id INT NOT NULL CHECK (P_Id>0), Name VARCHAR(50) NOT NULL, Address VARCHAR(255), Phone VARCHAR(20) );
替檢查限制命名與多欄位的檢查
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE customer ( C_Id INT NOT NULL, Name VARCHAR(50) NOT NULL, Address VARCHAR(255), Phone VARCHAR(20), CONSTRAINT chk_Customer CHECK (C_Id>0 AND Name!='XXX') );
更改資料表限制 - ALTER TABLE...
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE customer ADD CHECK (C_Id>0);
替主鍵命名與多欄位的組合鍵
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE customer ADD CONSTRAINT chk_Customer CHECK (C_Id>0 AND Name!='XXX');
移除資料表限制 - ALTER TABLE...
SQL Server / Oracle / MS Access
ALTER TABLE customer DROP CONSTRAINT chk_Customer;