新聞中心
什么是MySQL屬性范圍?
MySQL屬性范圍是指在創(chuàng)建數據庫表時,為某個字段設置的取值范圍,這樣可以保證數據的合法性,防止插入不合理的數據,在MySQL中,可以使用CHECK約束來規(guī)定字段的屬性范圍。

成都創(chuàng)新互聯公司不只是一家網站建設的網絡公司;我們對營銷、技術、服務都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務!我們經歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關注我們的成都做網站、成都網站設計質量和服務品質,在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術創(chuàng)新,服務升級,滿足企業(yè)一站式全網營銷推廣需求,讓再小的品牌網站建設也能產生價值!
如何使用CHECK約束規(guī)定屬性范圍?
1、創(chuàng)建表時添加CHECK約束
在創(chuàng)建表時,可以在字段定義后面添加CHECK約束,用于規(guī)定字段的屬性范圍,下面的代碼創(chuàng)建了一個名為students的表,其中age字段只能是0到150之間的整數:
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT CHECK (age >= 0 AND age <= 150)
);
2、在已存在的表上添加CHECK約束
如果需要在已存在的表上添加CHECK約束,可以使用ALTER TABLE語句,下面的代碼為已存在的students表的age字段添加了CHECK約束:
ALTER TABLE students ADD CONSTRAINT chk_age CHECK (age >= 0 AND age <= 150);
如何刪除CHECK約束?
如果需要刪除某個字段上的CHECK約束,可以使用ALTER TABLE語句配合DROP CONSTRAINT子句,下面的代碼刪除了students表的age字段上的CHECK約束:
ALTER TABLE students DROP CONSTRAINT chk_age;
相關問題與解答
1、如何為多個字段設置不同的屬性范圍?
可以在每個字段的定義后面分別添加CHECK約束,或者在一個ALTER TABLE語句中為多個字段添加或刪除CHECK約束。
-為name和age字段分別設置不同的屬性范圍 ALTER TABLE students ADD CONSTRAINT chk_name CHECK (name IS NOT NULL AND name <> ''), ADD CONSTRAINT chk_age CHECK (age >= 0 AND age <= 150);
2、如何為一個字段設置多個屬性范圍?
可以使用OR連接多個條件,
ALTER TABLE students ADD CONSTRAINT chk_age_range CHECK (age >= 0 AND age <= 150 OR age >= 151 AND age <= 200);
3、如果沒有找到符合條件的記錄怎么辦?
如果插入或更新的數據沒有滿足CHECK約束的條件,MySQL會拋出一個錯誤,可以通過設置IGNORE參數來忽略這個錯誤,
ALTER TABLE students ADD CONSTRAINT chk_age_ignore_error CHECK (age >= 0 AND age <= 150) IGNORE;
網頁題目:如何規(guī)定mysql的屬性范圍大小
文章起源:http://m.fisionsoft.com.cn/article/cdsojhj.html


咨詢
建站咨詢
