2017-04-09 84 views
1

我在SQL Server中有一个表,它有一个约束如Not null。当我输入新条目时,如果我没有填充任何内容,SQL Server会弹出错误消息,阻止Null值。如何限制SQL Server接受空字符串

但是,一旦我输入一条记录,并且稍后如果我通过删除此列中的数据来编辑该记录,SQL Server将接受空字符串。

+0

程序逻辑应该处理这个问题,不允许程序删除/移除值,并且如果是不期望的用空代替。 –

+1

你的描述听起来不正确。如果该列具有“NOT NULL”约束,则不允许在列中使用该约束。也许值是一个空字符串''''而不是'NULL'。 –

+0

可选调查检查约束。 CHECK约束根据不基于另一列中的数据的逻辑表达式确定有效值。 –

回答

4

您可以使用CHECK CONSTRAINT

ALTER TABLE table 
ADD CONSTRAINT chkNotEmpty CHECK (LEN(col) > 0); 
1

通过UI您可以通过以下步骤

  • 1.open在设计视图中添加表约束
  • 右键点击任意栏并选择“Check Constraints”
  • 编辑“Expression”并设置任意字段的最小长度为 LEN(desiredField)> = 1