将空字符串添加到主键字段



我的表单中year有一个主键列。

每当用户创建新表单时,他都应该从下拉列表中填充此字段。

但是,如果用户犯了一个错误并且没有从下拉列表中选择任何内容,则会附加一个空字符串""。选择后操作后,将在数据库表中创建记录。

我的问题:
当用户在做出选择后发布到数据库时:主键列最终接受空字符串""

这不应该抛出错误,因为主键字段永远不应该有空/空字符串吗?

我检查了表创建脚本,该列设置为 Not Null 并且没有分配默认值。

我正在使用 SQL Server 2008。

NULL和空字符串在SQL Server中不是同义词,因为它们对于Oracle来说不是同义词。PK 可以有一个空字符串。

当然,PK

必须是唯一的,因此只能有一个这样的空字符串,除非它是复合 PK 并且其他列具有不同的值。

您应该在尝试插入之前对此进行验证,但可以添加检查约束作为最后一道防线。

相关内容

  • 没有找到相关文章

最新更新