定義:
mysql檢查約束(check)可以通過 create table 或 alter table 語句實現,根據使用者實際的完整性要求來定義。它可以分別對列或表實施 check 約束。
檢查約束使用check關鍵字,具體的語法格式如下:
check 《表示式》 //表示式即為sql 表示式,用於指定需要檢查的限定條件。
在更新表資料的時候,系統會檢查更新後的資料行是否滿足 check 約束中的限定條件。mysql 可以使用簡單的表示式來實現 check 約束,也允許使用複雜的表示式作為限定條件,例如在限定條件中加入子查詢。
• 若將 check 約束子句置於表中某個列的定義之後,則這種約束也稱為基於列的 check 約束。
• 若將 check 約束子句置於所有列的定義以及主鍵約束和外來鍵定義之後,則這種約束也稱為基於表的 check 約束。該約束可以同時對錶中多個列設定限定條件。
設定檢查約束
1、在建立表時設定檢查約束
語法規則如下:
check(《檢查約束》)
【例項 1】在 test_db 資料庫中建立 tb_emp7 資料表,要求 salary 字段值大於 0 且小於 10000
上圖中tb_emp7_ibfk_1是系統自動生成的外來鍵約束名;
2、修改表時新增檢查約束
語法規則如下:
alter table 《資料表名》 add constraint 《檢查約束名》 check(《檢查約束》)
【例項 2】修改 tb_dept 資料表,要求 id 字段值大於 0
刪除檢查約束(待補充完善)
alter table 《資料表名》 drop constraint 《檢查約束名》;
在通過show create table 《資料表名》檢視 的時候發現並無建立的check約束名,刪除的時候也報錯,所以不知道是不是check不生效導致的;在查詢資料的時候發現說mysql中check約束並不生效;
//mysql check不生效文件查詢參考;
mysql 檢查約束 替代 MySQL之檢查約束
定義 mysql檢查約束 check 可以通過 create table 或 alter table 語句實現,根據使用者實際的完整性要求來定義。它可以分別對列或表實施 check 約束。檢查約束使用 check 關鍵字,具體的語法格式如下 check 表示式即為sql 表示式,用於指定需要檢查的限...
MySQL檢查約束(CHECK)
mysql 檢查約束 check 可以通過 create table 或 alter table 語句實現,根據使用者實際的完整性要求來定義。它可以分別對列或表實施 check 約束。檢查約束使用check關鍵字,具體的語法格式如下 check 表示式 其中 表示式 指的就是 sql 表示式,用於指...
檢查約束(CHECK CK)
檢查約束指的是在資料列上設定一些過濾條件,當過濾條件滿足的時候才可以進行儲存,如果不滿足則出現錯誤。例如 如果設定年齡的資訊,年齡0 250,性別 男 女。範例 設定檢查約束 刪除資料表 drop table member purge 清空 站 purge recyclebin 建立資料表 crea...