在SQL2005中,使用默认值约束时出现错误 default getdate() for birthday 'for' 附近有语法错误。
这是完整代码,createtablestudent(idintidentitynotnull,stu_nochar(10)notnull,namevarchar(20)n...
这是完整代码,
create table student
(
id int identity not null,
stu_no char(10) not null,
name varchar(20) not null,
sex char(2),
birthday datetime null default getdate(),
constraint PK_student_stu_no primary key(stu_no),
constraint CK_student_sex check(sex='男'or sex='女'),
constraint CK_student_birthday check(birthday!>getdate()),
constraint UQ_student_name unique(name),
constraint DF_student_birthday default getdate()for birthday
)
当除去constraint DF_student_birthday default getdate()for birthday
以后没有错误,在创建时不使用默认时
创建表以后
利用以下代码添加也没有错误,
alter table student add constraint DF_student_birthday default getdate() for birthday能够正常执行,一种解决办法是直接在birthday datetime 后加default getdate(),但是我想要的是自己可以定义该约束名字,求解,谢谢 展开
create table student
(
id int identity not null,
stu_no char(10) not null,
name varchar(20) not null,
sex char(2),
birthday datetime null default getdate(),
constraint PK_student_stu_no primary key(stu_no),
constraint CK_student_sex check(sex='男'or sex='女'),
constraint CK_student_birthday check(birthday!>getdate()),
constraint UQ_student_name unique(name),
constraint DF_student_birthday default getdate()for birthday
)
当除去constraint DF_student_birthday default getdate()for birthday
以后没有错误,在创建时不使用默认时
创建表以后
利用以下代码添加也没有错误,
alter table student add constraint DF_student_birthday default getdate() for birthday能够正常执行,一种解决办法是直接在birthday datetime 后加default getdate(),但是我想要的是自己可以定义该约束名字,求解,谢谢 展开
1个回答
展开全部
在create table中,birthday字段这么定义:
birthday datetime null constraint DF_student_birthday default getdate()
就可以了。
下面那句constraint DF_student_birthday default getdate()for birthday不需要了
birthday datetime null constraint DF_student_birthday default getdate()
就可以了。
下面那句constraint DF_student_birthday default getdate()for birthday不需要了
更多追问追答
追问
那我原来那个代码哪里错了,你知道吗?
追答
缺省约束(就是你给birthday定义的那个)不能在创建表的时候定义,只能向已创建好的表中添加缺省约束
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |