【问题标题】:unique not null and zero唯一不为空和零
【发布时间】:2015-09-09 04:18:06
【问题描述】:

我是 SQL 新手,我在列中创建了唯一键。现在我想更改不允许任何空值或零值的列。

我试过这样做

ALTER TABLE sales ALTER COLUMN VerificationCode VARCHAR NOT NULL

但是这会产生以下错误:

对象“UQ_Sales_VerificationCode”依赖于列“VerificationCode”。 消息 4922,第 16 级,状态 9,第 74 行 ALTER TABLE ALTER COLUMN VerificationCode 失败,因为一个或多个对象访问此列。

【问题讨论】:

    标签: sql-server unique alter notnull


    【解决方案1】:

    尝试在更改表列之前删除约束

    ALTER TABLE sales DROP CONSTRAINT UQ_Sales_VerificationCode
    

    那就做吧

    ALTER TABLE sales ALTER COLUMN VerificationCode VARCHAR NOT NULL
    

    【讨论】:

    • 我们可以在不放弃约束的情况下做到这一点吗??
    • 修改表后能否重新加回约束?查看this SO post 了解更多信息。
    • 是的,您的解决方案有效,但我想知道我们是否可以在不放弃约束的情况下做到这一点
    • 我不知道这样做的方法。
    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 2021-10-24
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    相关资源
    最近更新 更多