• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

littlesuccess

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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  阅读(1077)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3