在SQL服务器中,我们可以向varchar类型的现有列添加非空约束吗?

时间:2014-08-26 15:44:37

标签: sql sql-server

更改表格产品alter column prodName varchar not null

我只想将 prodName 列作为主键。因为我还没有将它指定为非null,所以我想现在添加非null约束,然后将其作为主键。

2 个答案:

答案 0 :(得分:0)

更改列的语法是varchar(1)

 Alter table Products alter column prodName varchar not null;

您应该始终在SQL Server中指定包含字符类型的长度。类似的东西:

 Alter table Products alter column prodName varchar(255) not null;

在此之前,请将NULL值设置为其他值:

update table
    set Products = ''
    where Products is NULL;

答案 1 :(得分:0)

我必须指定varchar的长度,我在查询中已经错过了已发布的。现在我可以添加非null约束并将其作为主键。