【问题标题】:Alter NVARCHAR column from NULL to NOT NULL in sql server在 sql server 中将 NVARCHAR 列从 NULL 更改为 NOT NULL
【发布时间】:2013-08-28 12:33:56
【问题描述】:

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

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

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

【问题讨论】:

  • 此表中有行吗?如果这样做,您必须首先确保在 RateValue 中没有包含 NULL 值的行。
  • 您收到的错误信息是什么?
  • “不工作”通常表示“您没有阅读邮件”。阅读它,因为它告诉你哪里出了问题。

标签: sql sql-server


【解决方案1】:

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

先去掉NULL的值,再修改:

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

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

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2015-08-26
    相关资源
    最近更新 更多