unique index可以有多个NULL值吗?
1.创建测试表和测试索性代码:
CREATE TABLE "GSC"."UNIQUE_TEST" ( "COL" VARCHAR2(20 BYTE) ); CREATE UNIQUE INDEX "GSC"."IDX_COL" ON "GSC"."UNIQUE_TEST" ("COL")
2.插入2条NULL数据
INSERT INTO unique_test VALUES(NULL); SELECT * FROM unique_test; --显示一行 INSERT INTO unique_test VALUES(NULL); SELECT * FROM unique_test; --显示2行
3.结论:
由上面的实验我们发现,对于UNIQUE的INDEX列,oracle是允许插入值为NULL的多行的。原因在于ORACLE认为NULL不是一个一般的值,NULL可以表示没有值,值不确定或者不适应(N/A,Not Applicable).所以NULL与NULL是不相等的,也就是说多个NULL值不是相同的,也就不违反UNIQU约束了。
posted on 2011-10-17 08:19 littlesuccess 阅读(1040) 评论(0) 编辑 收藏 举报