日期:2014-05-17  浏览次数:20995 次

sql sever修改语句问题
/*为“借书证”添加约束条件check type和设置默认日期*/
ALTER TABLE Borrow ADD CHECK (type in('T','G','U','O'))
ALTER TABLE Borrow ADD borrow_date default getdate()

消息 207,级别 16,状态 1,第 2 行
列名 'type' 无效。
我是想检查type是否为('T','G','U','O')

消息 173,级别 15,状态 1,第 1 行
列 'borrow_date' 的定义中必须包括数据类型
我只是想 为borrow_date添系统默认时间,而不是添加新列
这是为什么出错了?
SQL sql?server2005

------解决方案--------------------
引用:
Quote: 引用:

2:alter table student_score add constraint  df_ad default(getdate()) for borrow_date 

ALTER TABLE Borrow ADD CONSTRAINT Set_Date default(getdate()) for borrow_date
消息 1752,级别 16,状态 0,第 1 行
表 'Borrow' 中的列 'borrow_date' 对于创建默认约束无效。
消息 1750,级别 16,状态 0,第 1 行
无法创建约束。请参阅前面的错误消息。
我改成这样子,但还是错误哦!

我这里是可以的,类型不受限制。
ALTER TABLE Borrow ADD CONSTRAINT Set_Date default(convert(varchar(20),getdate(),120)) for borrow_date
你可以试一试这个