JJu*_*ior 1 sql sql-server null primary-key sql-server-2008
year我的表单中有一个主键列.
每当用户创建新表单时,他应该从下拉列表中填充此字段.
但是如果用户犯了错误并且没有从下拉列表中选择任何内容,则会附加空字符串"".选择后期操作时,将在数据库表中创建记录.
我的问题:
当用户在做出选择后发布到数据库时:主键列最终接受空字符串""
不应该抛出错误,因为主键字段永远不应该有空/空字符串?
我检查了表创建脚本,并将列设置为Not Null并且未分配默认值.
我正在使用SQL Server 2008.
NULL和SQL字符串中的空字符串不是同义词,因为它们适用于Oracle.PK可以有一个空字符串.
当然PK必须是唯一的,因此只有一个这样的空字符串,除非它是复合PK而其他列具有不同的值.
您应该在插入尝试之前验证这一点,但可以添加检查约束作为最后一道防线.
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |