用數(shù)據(jù)庫(kù)建表的時(shí)候新娜,常有一種需求推穷,我們希望某一行的值只能是 v1
或 v2
或 v3
僧著,在PostgreSQL中履因,我們可以用 check
constraint 實(shí)現(xiàn)。
建立以下學(xué)生信息表:
create table students (
name varchar(40) NOT NULL,
age integer NOT NULL,
sex char(1) NOT NULL,
country varchar(40) NOT NULL
);
我們需要當(dāng) sex 的值為 'F' 或者 'M' 盹愚,以及 country 的值為 'China' 栅迄、 'Japan'、 'Korean' 的時(shí)候才能插入值皆怕。
create table students (
name varchar(40) NOT NULL,
age integer NOT NULL,
sex char(1) NOT NULL,
country varchar(40) NOT NULL毅舆,
CHECK((sex = 'F' OR sex = 'M' ) AND (country = 'China' OR country = 'Japan' OR country = 'Korean'))
);