在SQL Server中将NVARCHAR列从NULL更改为NOT NULL

时间:2013-08-28 12:33:57

标签: sql sql-server

我创建了一个名为RateValue的表列,最初允许NULL值,但我想将其设为NOT NULL。我使用 SQL Server 2008 R2

我尝试了以下但不起作用

ALTER TABLE dbo.AAElement
ALTER COLUMN RateValue NVARCHAR(50) NOT NULL

1 个答案:

答案 0 :(得分:3)

最可能的问题是预先存在的NULL值。

首先删除NULL值,然后更改:

UPDATE AAElement 
SET RateValue = ''
WHERE RateValue IS NULL
GO
ALTER TABLE dbo.AAElement
ALTER COLUMN RateValue NVARCHAR(50) NOT NULL

否则会在创建约束时违反约束。