我有一个sql server 2008的数据库,我正在用它来显示在网格视图中。我已经写了一些代码来在asp.net和C#中添加新的行作为后置代码。
每当通过编程添加一行时,我都会进行一些检查,这将不允许所需的值为Null。
但是,我的问题来了,当任何一个用户通过打开数据库手动添加新行时,则允许在主键列中使用空值,该值不是“Null value”。
所以,在这里我必须限制甚至不允许在主键列中出现空值,我该如何解决这个问题。
发布于 2011-04-25 19:45:19
您需要一个检查约束
ALTER TABLE [TableName]
ADD CONSTRAINT [CK_PrimaryKeyNotEmpty]
CHECK
(
LEN([ColumnName]) > 0
)发布于 2011-04-25 19:26:50
我很难弄清楚你真正的问题是什么。
1)如果您需要使列不接受空值:
将约束添加到数据库中的列:
ALTER TABLE Table ALTER COLUMN INTEGER NOT NULL
请参阅:Altering a column: null to not null
2)如果您需要将您的PK列限制为仅特定的值,请添加约束:
ALTER TABLE表添加约束CK_Table_Column_Range检查(列>= 0)
https://stackoverflow.com/questions/5777712
复制相似问题