1. 創(chuàng)建表時(shí)添加判斷約束
t的表,其中age列的取值范圍必須在18到30歲之間:
id INT NOT NULL,ame VARCHAR(20) NOT NULL,
age INT NOT NULL,
CONSTRAINT ck_age CHECK (age BETWEEN 18 AND 30)
在上述語(yǔ)句中,CONSTRAINT關(guān)鍵字用于指定約束的名稱,ck_age是該約束的名稱,CHECK關(guān)鍵字用于指定約束的類型,age BETWEEN 18 AND 30是判斷約束的具體條件。
2. 修改表時(shí)添加判斷約束
t的表中添加一個(gè)判斷約束,限制age列的取值范圍必須在20到25歲之間:
t ADD CONSTRAINT ck_age_2 CHECK (age BETWEEN 20 AND 25);
在上述語(yǔ)句中,ADD CONSTRAINT關(guān)鍵字用于添加約束,ck_age_2是該約束的名稱,CHECK關(guān)鍵字用于指定約束的類型,age BETWEEN 20 AND 25是判斷約束的具體條件。
3. 刪除判斷約束
如果需要?jiǎng)h除判斷約束,可以使用ALTER TABLE語(yǔ)句,將約束名稱設(shè)置為NULL。例如,刪除名為ck_age_2的約束:
t DROP CONSTRAINT ck_age_2;
在上述語(yǔ)句中,DROP CONSTRAINT關(guān)鍵字用于刪除約束,ck_age_2是要?jiǎng)h除的約束名稱。
總之,在MySQL中添加判斷約束是一種保證數(shù)據(jù)完整性和一致性的最佳實(shí)踐。通過(guò)添加判斷約束,可以限制表中列的取值范圍,保證數(shù)據(jù)的合法性,避免數(shù)據(jù)異常問(wèn)題的發(fā)生。