在sql server中将NVARCHAR列从NULL改为NOT NULL

在sql server中将NVARCHAR列从NULL改为NOT NULL,sql,sql-server,Sql,Sql Server,我创建了一个名为RateValue的表列,最初允许NULL值,但我想使其不为NULL。我使用了SQL Server 2008 R2 我尝试了以下方法,但不起作用 ALTER TABLE dbo.AAElement ALTER COLUMN RateValue NVARCHAR(50) NOT NULL 最可能的问题是预先存在的NULL值 首先去掉NULL值,然后更改: UPDATE AAElement SET RateValue = '' WHERE RateValue IS NULL GO

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

我尝试了以下方法,但不起作用

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

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

首先去掉
NULL
值,然后更改:

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

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

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

首先去掉
NULL
值,然后更改:

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

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

此表中是否有行?如果您这样做,您必须首先确保RateValue中没有空值的行。您收到的错误消息是什么?可能重复的“Not working”通常表示“您没有阅读消息”。阅读它,因为它告诉你哪里错了。这张表中有行吗?如果您这样做,您必须首先确保RateValue中没有空值的行。您收到的错误消息是什么?可能重复的“Not working”通常表示“您没有阅读消息”。阅读它,因为它告诉你什么是错的。