【问题标题】:How to allow duplicate blanks in an Access index?如何在 Access 索引中允许重复的空白?
【发布时间】:2011-04-20 15:52:28
【问题描述】:

使用 Access 2007。我有一个字段,我只想拥有唯一的非空白值,但允许多个空白值。我尝试使用 Unique: Yes 和 Ignore Nulls: Yes 设置索引。我可以手动输入此字段为空白的记录,但是当我尝试使用 SQL 插入该字段为空白值的记录时,例如

insert into mytable (field1, blanksOK, field3) values ("xyz","","123")

然后 Access 给我一条错误消息:“...由于键违规,没有向表中添加 1 条记录...”

将 Ignore Nulls 从 Yes 更改为 No 似乎没有任何区别。

我怎样才能允许重复的空白,但防止重复的非空白?

【问题讨论】:

  • 为什么不使用NULL 而不是"" 作为您的“空白”值?
  • 谢谢,解决了!如果您将其发布为答案,我会接受。

标签: sql ms-access ms-access-2007


【解决方案1】:

我的印象是空白对 Access 中的索引键无效,因此出现了错误。根据定义,键必须具有非空白条目。 null 可以,因为 null 是 indexabe 值。

【讨论】:

  • 是的,但它们在非键索引中是可以的(如果属性设置正确的话)。
  • 您不能对允许 Null 的索引强制执行真正的唯一性,因为没有两个 Null 是相同的值。解决这个问题的唯一方法是使用默认值,因此绝不允许 Null。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多