mysql 檢查約束 替代 MySQL之檢查約束

2021-10-17 12:44:51 字數 1122 閱讀 7271

定義:

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 檢查約束 check 可以通過 create table 或 alter table 語句實現,根據使用者實際的完整性要求來定義。它可以分別對列或表實施 check 約束。檢查約束使用check關鍵字,具體的語法格式如下 check 表示式 其中 表示式 指的就是 sql 表示式,用於指...

MySQL之檢查約束

定義 mysql檢查約束 check 可以通過 create table 或 alter table 語句實現,根據使用者實際的完整性要求來定義。它可以分別對列或表實施 check 約束。檢查約束使用check關鍵字,具體的語法格式如下 check 表示式 表示式即為sql 表示式,用於指定需要檢查...

檢查約束(CHECK CK)

檢查約束指的是在資料列上設定一些過濾條件,當過濾條件滿足的時候才可以進行儲存,如果不滿足則出現錯誤。例如 如果設定年齡的資訊,年齡0 250,性別 男 女。範例 設定檢查約束 刪除資料表 drop table member purge 清空 站 purge recyclebin 建立資料表 crea...