我有一个sql server 2008的数据库,我用它来在gridview中显示。我编写了一些代码来在asp.net中添加新行,在C#中添加新代码。
当通过编程添加一行时,我已经进行了一些检查,这将不允许所需的值为空。
但是,如果用户中的任何一个通过打开数据库手动添加新行,则会出现问题,然后在主键列中允许空值不是“空值”。
所以,在这里我必须限制甚至不允许在主键列中允许空值,我该如何解决这个问题。
答案 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 )