关于SQL2000的T-SQL语句问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 23:35:56
创建了一个学生信息表,其中输入性别字段值时,只能接受“F”或者“M”,并且为phonenum字段创建检查约束,限制只能输入类似01080798654之类的数据,而不能随意输入其他数据。
具体语句如下:
create table student(
Id char(8)
name char(8)
sex char(2)
phonenum int
constraint chk_sex check(sex in (’F’,’M’))
Constraint chk_phonenum check
(phonenum like ‘(010)[0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]’)
但在SQL查询器下输入后提示:“name”附近有语法错误,是怎么回事,具体应该怎么修改?

有两种方案
一:

create table student(
Id char(8),
name char(8),
sex char(2) check (sex in ('F','M')),
phonenum int check(phonenum like '(010)[0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]' )
)

二:

create table student(
Id char(8),
name char(8),
sex char(2) ,
phonenum int
)
alter table student add constraint chk_sex check (sex in ('F','M'))
alter table student add constraint chk_phonenum check (phonenum like '010[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

你错误的原因,
每列后面需要加上 ‘ , ’符号,你在设置phonenum的属性时,用char,或者varchar是最好的,因为你设置的是int型,那么插入数字的第一个字符不可以为0的。
我建议你用第二种写法,很直观也很容易修改的

create table student(
Id char(8),
name char(8),
sex char(2),
phonenum int
constraint chk_sex check(sex in ('F','M'))
Constraint chk_phonenum check
(phonenum like '010[0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-