在 MySQL 中,可以使用 CHECK 約束來定義數據表的某個列或多個列的取值范圍或條件限制。
創建表時,可以在列的定義中使用 CHECK 約束來指定條件,例如:
CREATE TABLE mytable (
id INT,
age INT CHECK (age >= 18),
salary INT CHECK (salary > 0)
);
在上面的例子中,age
列的取值必須大于等于 18,salary
列的取值必須大于 0。
此外,還可以使用 ALTER TABLE 語句來添加 CHECK 約束,例如:
ALTER TABLE mytable ADD CHECK (age > 0);
上面的語句添加了一個對 age 列的取值限制,要求 age 大于 0。
需要注意的是,MySQL 并不完全支持 CHECK 約束,雖然可以定義 CHECK 約束,但是 MySQL 在表級別上不會對 CHECK 約束進行驗證,也不會拋出錯誤。因此,CHECK 約束只是作為一種約定,開發者需要在應用層或者觸發器中對 CHECK 約束進行驗證。