RHCE9 1月周末班 正在授课 欢迎试学         2026!志存高远,启航新程         锁定 2026年首 OCP 周末班,以 ORACLE 为基,其他数据库         KCP金仓数据库认证专家         19cOCP 9月周末班 正在授课 欢迎试听         Oracle,Redhat暑假班学习计划         RHCA培训+认证,助同学们实现梦想         PostgreSQL 高级认证考试         PostgreSQL 中级认证考试(DBA 方向)         PostgreSQL 初级认证考试         

ORACLE 如何强制启用有重复值的唯一约束

更新时间: 2023-11-13 07:13

有时某个唯一键被禁用了,要启用,结果报错,说有重复值,
这个时候,想快速启用这个唯一键 ,默认是不行的,需要先在这个唯一键对应的字段上建立一个非唯一索引,
然后在去带上不管之前的数据,启用这个唯一索引约束,是可以的。

下面举一个例子:

数据库在创建unique constraint的同时,强制创建或者重用列上的索引。

如果之前列上没有索引,那么强制创建的索引是unique index,如果列上已经存在索引,就重用之前的索引。


为了避免出现重复数据,在现有的表上面添加unique constraint,而又不影响现有数据。

sql> create index udx_patemrcontent on  patemrcontent(col1,col2,col3);  --建立一个普通索引(非唯一索引)

SQL> alter table patemrcontent add constraint UK_MSI_WDR_INPUT unique(col1,col2,col3) enable novalidate;

报重庆思庄19cOCP,送学习大礼包

开班信息MORE>>

课程名称 开课时间 上课类型 状态
PGCE 专家 1月 周末班 授课中...
OCP认证培训 1月 周末班 授课中...
RHCE培训 1月 周末班 授课中...
OCP培训 3月 精英班 报名中...
OCM培训 3月 周末班 报名中...
RHCE培训 常年 周末班 报名中...
MySQL培训 常年 周末班 报名中...
<<