如何在“主键”列中限制“空白”值

时间:2011-04-25 11:01:34

标签: sql-server-2008

我有一个sql server 2008的数据库,我用它来在gridview中显示。我编写了一些代码来在asp.net中添加新行,在C#中添加新代码。

当通过编程添加一行时,我已经进行了一些检查,这将不允许所需的值为空。

但是,如果用户中的任何一个通过打开数据库手动添加新行,则会出现问题,然后在主键列中允许空值不是“空值”。

所以,在这里我必须限制甚至不允许在主键列中允许空值,我该如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

您需要检查约束

ALTER TABLE [TableName]
    ADD CONSTRAINT [CK_PrimaryKeyNotEmpty]
        CHECK
        (
            LEN([ColumnName]) > 0
        )

答案 1 :(得分:0)

我无法弄清楚你的实际问题是什么。

1)如果您需要使列不接受空值:

向db:

中的列添加约束

ALTER TABLE [表] ALTER COLUMN [Column] INTEGER NOT NULL

请参阅:Altering a column: null to not null


2)如果您需要将PK列限制为仅限某些值,请添加约束:

ALTER TABLE表 添加约束CK_Table_Column_Range CHECK(    列> = 0 )