2011-04-20 33 views
3

使用Access 2007.我有一個字段,我想只有唯一的非空值,但允許多個空值。我嘗試設置唯一索引:是和忽略空值:是的。我可以手動輸入具有此字段空白的記錄,但是當我嘗試使用SQL插入對此字段具有空白值的記錄時,例如如何在Access索引中允許重複的空白?

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

然後訪問給我一個錯誤信息:「...... 1個結果表中沒有添加由於鍵衝突......」

更改忽略來自空值是爲No似乎沒有任何區別。

如何使複製空白容許,但防止重複的非空白?

+5

爲什麼不使用'NULL'而不是''''爲你的「空白」值? – 2011-04-20 15:56:56

+0

謝謝,解決了!如果你發佈這個答案,我會接受它。 – sigil 2011-04-20 16:00:36

回答

1

我是在印象之下空白不適用於Access中的索引鍵,因此錯誤。根據定義,密鑰必須有非空白條目。空值是可以的,因爲null是一個indexabe值。

+0

是的,但是它們在非關鍵指標中是可以的(如果屬性設置正確)。 – RolandTumble 2011-04-20 17:57:12

+0

您不能在允許空值的索引上強制實際唯一性,因爲沒有兩個空值是相同的值。唯一的解決方法是默認值,所以空值永遠不會被允許。 – 2011-04-26 02:47:30

相關問題