我创建了一个名为RateValue的表列,最初允许NULL值,但我想将其设为NOT NULL。我使用 SQL Server 2008 R2
我尝试了以下但不起作用
ALTER TABLE dbo.AAElement
ALTER COLUMN RateValue NVARCHAR(50) NOT NULL
答案 0 :(得分:3)
最可能的问题是预先存在的NULL
值。
首先删除NULL
值,然后更改:
UPDATE AAElement
SET RateValue = ''
WHERE RateValue IS NULL
GO
ALTER TABLE dbo.AAElement
ALTER COLUMN RateValue NVARCHAR(50) NOT NULL
否则会在创建约束时违反约束。