oracle中的unique约束是用来保证表中的某一类,或者表中的某一类组合起来不重复的一种手段。我们在可以在创建表时或者创建好后通过修改表的方式来创建oracle中的unique约束。
下面是一些创建unique约束的例子:
create table unique_test
(id number,
fname varchar2(20),
lname varchar2(20),
address varchar2(100),
email varchar2(40),
constraint name_unique unique(fname,lname))
在这里我们建立了一个表unique_test,并将其中的fname和lname组合起来建立了一个唯一约束。
我们也还可以在表创建完成后手动的通过修改表的方式来增加约束,例如:
alter table unique_test
add constraint email_unique unique(email);
下面我们来往表里面插入数据,
insert into unique_test(id,fname,lname) values(1,’德华’,'刘’)
这一行可以正常的被插入
因为我们在建立表时曾把fname和lname联合起来作为一个约束,因为如果我们希望再次插入刘德华,
insert into unique_test(id,fname,lname) values(2,’德华’,'刘’)
是会出现如下错误的:
ORA-00001: 违反唯一约束条件 (SYS.NAME_UNIQUE)
但我们如果改为如下值:
insert into unique_test(id,fname,lname) values(2,’学友’,'张’);
又可以正常插入了。
有些朋友可能会有疑问,我们不是为email也建立的一个唯一约束吗?为什么这两行数据都没有为email列赋值,也就是或两行的email列都是空值,而插入也成功了呢?
这是因为一个空值(null)的含义是该列当前的状态是不存在,他永远不可能会与另外一个空值相等。所以也就不存在违反唯一约束之说了。
分享到:
相关推荐
创建学员信息表--创建唯一索引--修改学员信息表添加主键和检查约束
详细描述了在oracle中创建方案的3种方法,包括利用图形界面和sql语句
Oracle 约束错误约束错误Oracle 约束错误约束错误
oracle数据库中怎样创建外键的约束?
在oracle中创建dblink可以连接其它的oracle数据库。对其它的oracle数据库进行操作。
oracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txt
Oracle唯一约束
oracle数据库导入、导出数据、创建表空间、创建用户、用户授权等操作
本文档记录了在Oracle数据中创建地理空间数据库的详细步骤
Oracle密码文件的创建、使用和维护Oracle密码文件的创建、使用和维护Oracle密码文件的创建、使用和维护Oracle密码文件的创建、使用和维护Oracle密码文件的创建、使用和维护
oracle 创建dblink的详细步骤,以及使用oracle快照快速的刷新,保持本地与远程数据库的同步
Oracle_View视图创建在oracle数据库中已建立两张表rt_issuesect和roadstate,表结构如下: 高架状态表结构rt_issuesect
详细的介绍了怎样在oracle中创建数据库,其中的方法做了详细的介绍
oracle约束详解.oracle约束详解.oracle约束详解.oracle约束详解.
oracle在线创建索引和重组索引。
Oracle安装光盘后安装数据库一路next,到了最后创建数据库的时候遇到了问题,进度停止不前, 解决办法 1.安装数据库的时候不要选择“创建数据库”选项,或者用高级安装,最后一步选择不创建数据库。 2.安装完成后...
介绍数据库触发器的PPT。内容包括:存储过程的创建与使用;存储过程的查看、编辑和删除;触发器的创建与使用;触发器的查看、编辑、重命名和删除
用户能访问数据库前必须要有获得相应授权的账号,oracle中创建一个用户并为其分配密码很简单,但是在创建用户的同时其实还可以指定很多该用户的属性,另外还有用户的特权授予。 以便用户去执行相应的操作。当创建了一...
oracle的索引和约束详解,可以针对索引和约束有更详尽的了解