mysql 檢查約束(check)可以通過 create table 或 alter table 語句實現,根據使用者實際的完整性要求來定義。它可以分別對列或表實施 check 約束。但是mysql手冊裡寫的很清楚:「所有的儲存引擎均對check子句進行分析,但是忽略check子句。」所以雖然可以這樣寫可並不會起到約束作用。
檢查約束使用 check 關鍵字,具體的語法格式如下:check 其中:指的就是 sql 表示式,用於指定需要檢查的限定條件。若將 check 約束子句置於表中某個列的定義之後,則這種約束也稱為基於列的 check 約束。在更新表資料的時候,系統會檢查更新後的資料行是否滿足 check 約束中的限定條件。mysql 可以使用簡單的表示式來實現 check 約束,也允許使用複雜的表示式作為限定條件,例如在限定條件中加入子查詢。
注意:若將 check 約束子句置於所有列的定義以及主鍵約束和外來鍵定義之後,則這種約束也稱為基於表的 check 約束。該約束可以同時對錶中多個列設定限定條件。
在建立表時設定檢查約束
建立表時設定檢查約束的語法規則如下:check()在 test_db 資料庫中建立 tb_emp7 資料表,要求 salary 字段值大於 0 且小於 10000,輸入的 sql 語句和執行結果如下所示。mysql> create table tb_emp7-> (-> id int(11) primary key,-> name varchar(25),-> deptid int(11),-> salary float,-> check(salary>0 and salary<100),-> foreign key(deptid) references tb_dept1(id)-> );query ok, 0 rows affected (0.37 sec)在修改表時新增檢查約束
修改表時設定檢查約束的語法規則如下:alter table tb_emp7 add constraint check()修改 tb_dept 資料表,要求 id 字段值大於 0,輸入的 sql 語句和執行結果如下所示。mysql> alter table tb_emp7-> add constraint check_id-> check(id>0);query ok, 0 rows affected (0.19 sec)records: 0duplicates: 0warnings: 0解決方法:使用觸發器實現check檢查約束的功能。
python裡 怎麼打 python裡的 怎麼輸入
python去重函式是什麼 用python寫溫度轉換 python中的 就是math.pi變數 它被包含在標準庫中,在你試圖自己計算它之前,應該先去匯入math庫,才能呼叫math.pi方法 import sys import math defmain ar if len ar 1 sys.exit...
mysql 寫備註 mysql怎麼新增備註
具體方法 1 建立表的時候,新增表名備註和字段備註create table healerjean comment id bigint 20 not null auto increment,name varchar 32 not null comment 名字備註 email varchar 64 n...
SQL檔案怎麼匯入MySQL裡
sql檔案怎麼匯入mysql裡 1 window下 將sql檔案匯入資料庫,常用source命令 進入mysql資料庫控制台,如 mysql u root p mysql use 資料庫 然後使用source命令,後面引數為指令碼檔案 如這裡用到的.sql mysql source d dbname...