向属性添加约束

时间:2015-03-29 00:51:54

标签: sql sql-server sql-server-2008

似乎无法弄清楚如何向属性添加约束,如下所示。

create table Children
(
  child_id int not null,
  fname varchar(24),
  lname varchar(24),
  phone int,
  grade varchar(24),
  primary key(child_id),
  check(grade = 'Beginner' OR 'Novice' OR 'Skilled' OR 'Expert')
)

我想在这里实现的主要目的是让成绩变量只能成为可能的成绩之一'初学者'新手'技能' ;或者'专家' (在SQL-SERVER-2008-R2中工作)

1 个答案:

答案 0 :(得分:0)

您需要使用IN运算符,您也可以在列定义中添加关键字PRIMARY KEY。

create table Children
(
  child_id int not null primary key,
  fname varchar(24),
  lname varchar(24),
  phone int,
  grade varchar(24),
  CONSTRAINT chk_Grade check grade IN ('Beginner' ,'Novice' ,'Skilled' ,'Expert')
)
GO