添加列时添加getdate()默认值

时间:2015-05-26 12:11:36

标签: sybase sybase-ase

如果我想添加默认值,我会用这种方式

ALTER TABLE tab1 ADD  coll datetime DEFAULT '11-01-15' NOT NULL

但是我想添加默认值作为getdate() 所以如果使用下面我得到以下错误

ALTER TABLE tab1 ADD  coll datetime DEFAULT GETDATE() NOT NULL

error: ALTER TABLE 'tab1' failed. Default cannot be an expression when adding non-NULL column 'tab1'. Use a default value instead.

我想要的是默认值是getdate()。添加新的datetime列时如何做到这一点?

2 个答案:

答案 0 :(得分:2)

我通过将列添加到null

来解决了我的问题
alter table tab1 add col1 datetime default getdate() null

然后我将其修改为不为空

答案 1 :(得分:0)

使用以下Sybase

ALTER TABLE table_name
ADD effective_date Datetime DEFAULT "3/16/2009 09:15" NOT NULL


ALTER TABLE table_name
REPLACE effective_date DEFAULT getdate()