Sql 如何在访问索引中允许重复空格?

Sql 如何在访问索引中允许重复空格?,sql,ms-access,ms-access-2007,Sql,Ms Access,Ms Access 2007,使用Access 2007。我有一个字段,我只希望有唯一的非空值,但允许多个空值。我尝试使用Unique:Yes设置索引,并忽略null:Yes。我可以手动输入此字段为空的记录,但当我尝试使用SQL插入此字段值为空的记录时,例如 insert into mytable (field1, blanksOK, field3) values ("xyz","","123") 然后Access会给我一条错误消息:“……由于密钥冲突,未向表中添加1条记录…” 将“忽略空值”从“是”更改为“否”似乎没有任

使用Access 2007。我有一个字段,我只希望有唯一的非空值,但允许多个空值。我尝试使用Unique:Yes设置索引,并忽略null:Yes。我可以手动输入此字段为空的记录,但当我尝试使用SQL插入此字段值为空的记录时,例如

insert into mytable (field1, blanksOK, field3) values ("xyz","","123")
然后Access会给我一条错误消息:“……由于密钥冲突,未向表中添加1条记录…”

将“忽略空值”从“是”更改为“否”似乎没有任何区别


如何允许重复空格,但防止重复非空格?

我的印象是空格对于Access中的索引键无效,因此出现错误。根据定义,键必须具有非空项。空值是可以的,因为空值是一个索引值。

为什么不使用
null
而不是
来处理“空”值?谢谢,这就解决了问题!如果你将其作为答案发布,我会接受。是的,但它们在非键索引中是可以的(如果属性设置正确)。你不能在允许空值的索引上强制真正的唯一性,因为没有两个空值是相同的值。唯一的解决方法是使用默认值,这样就永远不允许使用空值。