关于create table创建表时添加约束,麻烦看下我的应该怎么改
书上的要求是创建表并同时创建以下约束1,设置学号为主键,主键名为pk_sid2,为姓名添加唯一约束(unique),约束名为uk_name3,为性别添加默认约束(defa...
书上的要求是创建表并同时创建以下约束
1,设置学号为主键,主键名为pk_sid
2,为姓名添加唯一约束(unique),约束名为uk_name
3,为性别添加默认约束(default),名为df_sex,值为'男'
4,为出生日期添加check,约束名为ck_bday,检查条件为'出生日期>'1988-1-1''
以下是我写入的代码
create table stu_con
(
学号 char(4)primary key,
姓名 char(8)unique,
性别 char(2),
default '男',
出生日期 datetime check(ck_bday(year,出生日期,getdate())>'1988-1-1'),)
不知道怎么为约束创建名称,也不知道为什么会出现下列提示:
服务器: 消息 195,级别 15,状态 10,行 6 'ck_bday' 不是可以识别的 函数名。 展开
1,设置学号为主键,主键名为pk_sid
2,为姓名添加唯一约束(unique),约束名为uk_name
3,为性别添加默认约束(default),名为df_sex,值为'男'
4,为出生日期添加check,约束名为ck_bday,检查条件为'出生日期>'1988-1-1''
以下是我写入的代码
create table stu_con
(
学号 char(4)primary key,
姓名 char(8)unique,
性别 char(2),
default '男',
出生日期 datetime check(ck_bday(year,出生日期,getdate())>'1988-1-1'),)
不知道怎么为约束创建名称,也不知道为什么会出现下列提示:
服务器: 消息 195,级别 15,状态 10,行 6 'ck_bday' 不是可以识别的 函数名。 展开
8个回答
展开全部
alter table stu_con
add constraint ck_bday CHECK(出生日期>= '1988-1-1')
还有ck_bday 这个不是函数是约束名
add constraint ck_bday CHECK(出生日期>= '1988-1-1')
还有ck_bday 这个不是函数是约束名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出生日期 datetime check(ck_bday(year,出生日期,getdate())>'1988-1-1'),)
按你的格式创建的check约束是系统命名的、而且你写的不对
系统命名:出生日期 datetime check(出生日期>'1988-1-1'))
detetime的格式直接就可以拿来比较了、不需要用函数、如果你想用函数取年份用
datediff(year,出生日期,getdate()),后面的1988-1-1改为1988
自己命名(按你题目要求):
create table stu_con
(
学号 char(4)primary key,
姓名 char(8)unique,
性别 char(2),
default '男',
出生日期 datetime,constraint ck_bday check (出生日期>'1988-1-1') )
还有一种方法是建表以后添加check约束,但是不符合你题目。
格式:alter table stu_con
add constraint ck_bday check (出生日期>'1988-1-1')
按你的格式创建的check约束是系统命名的、而且你写的不对
系统命名:出生日期 datetime check(出生日期>'1988-1-1'))
detetime的格式直接就可以拿来比较了、不需要用函数、如果你想用函数取年份用
datediff(year,出生日期,getdate()),后面的1988-1-1改为1988
自己命名(按你题目要求):
create table stu_con
(
学号 char(4)primary key,
姓名 char(8)unique,
性别 char(2),
default '男',
出生日期 datetime,constraint ck_bday check (出生日期>'1988-1-1') )
还有一种方法是建表以后添加check约束,但是不符合你题目。
格式:alter table stu_con
add constraint ck_bday check (出生日期>'1988-1-1')
追问
那比如说第一个,要求的是“学号”为主键,主键名为pk_sid
怎么设置主键是“学号”而主键名却是pk_sid呀
同样的还有第二第三点要求,你都按要求创建了约束但你没有同时设置约束名啊,怎么设置呢
追答
按我给的形式套就行了、
学号 char(4),constraint pk_sid primary key (学号)
下面的unique也是
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
知道,但是我看已经有人回答了,我就算了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ck_bday是什么函数?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询