我今天遇到一个旧表,其中有一个名为“Created”的日期时间列,它允许空值。现在,我想更改它,使其不为 NULL,并且还包含一个添加默认值 (getdate()) 的约束。
到目前为止,我已经得到了以下脚本,只要我事先清除了所有空值,该脚本就可以正常工作:
ALTER TABLE dbo.MyTable ALTER COLUMN Created DATETIME NOT NULL
有没有办法在 ALTER 语句上也指定默认值?
我认为您需要将其作为三个单独的语句来执行。我环顾四周,我所看到的一切似乎都表明,如果你愿意,你就可以做到adding一列,但如果您要更改一列,则不会。
ALTER TABLE dbo.MyTable
ADD CONSTRAINT my_Con DEFAULT GETDATE() for created
UPDATE MyTable SET Created = GetDate() where Created IS NULL
ALTER TABLE dbo.MyTable
ALTER COLUMN Created DATETIME NOT NULL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)