我想更改SQL Server中现有的列Site_SiteId
,使其不为null,默认值为1,但出现语法错误:
ALTER TABLE dbo.ImagingEvents
ALTER COLUMN Site_SiteId bit NOT NULL DEFAULT 1
default
是一个约束,因此您需要将其添加到表:
ALTER TABLE dbo.ImagingEvents ADD DEFAULT 1 FOR Site_SiteId
首先需要ALTER
列:
ALTER TABLE dbo.ImagingEvents ALTER COLUMN Site_SiteId bit NOT NULL;
请注意,如果有任何行已经具有值NULL
,则需要先UPDATE
,然后执行ALTER
。
然后,就我个人而言,我建议创建一个命名约束,如下所示:
ALTER TABLE dbo.ImagingEvents ADD CONSTRAINT DF_Site_SiteId DEFAULT 1 FOR Site_SiteId;
具有命名约束,而不是自动命名约束,对于可转移代码来说要好得多。