0
我有一个表[产品]与列[CreateTime]日期时间为空,并且已经有一些数据。如何写SQL设置改变在SQL Server 2005中的列的默认值?
如何设置列的[CreateTime]默认值GETDATE(),使新增加的数据有一个默认值GETDATE()列[CreateTime。
我有一个表[产品]与列[CreateTime]日期时间为空,并且已经有一些数据。如何写SQL设置改变在SQL Server 2005中的列的默认值?
如何设置列的[CreateTime]默认值GETDATE(),使新增加的数据有一个默认值GETDATE()列[CreateTime。
您不能更改默认的 - 你需要先删除它,然后重新创建它。
才能删除它,你需要知道它的名字,然后用
ALTER TABLE dbo.Product
DROP CONSTRAINT yourOldDefaultConstraint
一旦你做到了这一点,你可以添加一个新的默认约束,为了将它应用到现有的行,请使用“使用值”部分:
ALTER TABLE dbo.Product
ADD CONSTRAINT NewDefaultConstraintName
DEFAULT GetDate() FOR CreateTime WITH VALUES
哎呀 - 对不起,在“使用值”似乎只如果您创建在创建表时DEFAULT约束工作,或者如果您添加列 - 它似乎并没有得到应用到现有列。
在这种情况下,您只需要按照你的ALTER TABLE语句是这样的:
UPDATE dbo.T_Product
SET CreateTime = GETDATE()
WHERE CreateTime IS NULL
这应该做的伎俩,太!
Marc
非常感谢。 – Mike108 2009-09-01 04:47:23