ORA-02437 违反主键
2016-02-25 16:27
471 查看
在给study用户下的semp表建立主键的时候,出现以下错误:
SQL> alter table semp add constraint pk_emp primary key(empno);
alter table semp add constraint pk_emp primary key(empno)
*
第 1 行出现错误:
ORA-02437: 无法验证 (STUDY.PK_EMP) - 违反主键
上网查了一下错误,原来是作为主键的empno有重复,删除掉重复后主键可以正常建立,具体操作如下:
SQL> select empno,ename from semp;
EMPNO ENAME
---------- ----------
7369 SMITH
8000 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
EMPNO ENAME
---------- ----------
7900 JAMES
7902 FORD
7934 MILLER
8100 geng
8100 geng
已选择16行。
SQL> delete from semp where empno=8100;
已删除2行。
SQL> commit;
提交完成。
SQL> alter table semp add constraint pk_emp primary key(empno) enable novalidate
;
表已更改。
SQL> commit;
提交完成。
由于是无关紧要的测试数据,可以直接删除掉重复的数据,如果是正式数据,在处理的时候,要进行周密的测试。
SQL> alter table semp add constraint pk_emp primary key(empno);
alter table semp add constraint pk_emp primary key(empno)
*
第 1 行出现错误:
ORA-02437: 无法验证 (STUDY.PK_EMP) - 违反主键
上网查了一下错误,原来是作为主键的empno有重复,删除掉重复后主键可以正常建立,具体操作如下:
SQL> select empno,ename from semp;
EMPNO ENAME
---------- ----------
7369 SMITH
8000 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
EMPNO ENAME
---------- ----------
7900 JAMES
7902 FORD
7934 MILLER
8100 geng
8100 geng
已选择16行。
SQL> delete from semp where empno=8100;
已删除2行。
SQL> commit;
提交完成。
SQL> alter table semp add constraint pk_emp primary key(empno) enable novalidate
;
表已更改。
SQL> commit;
提交完成。
由于是无关紧要的测试数据,可以直接删除掉重复的数据,如果是正式数据,在处理的时候,要进行周密的测试。
相关文章推荐
- jQuery自动填充插件 Cool Auto-Suggest
- ansible模块cron、copy、user、group
- linux gcc 编译的so文件 运行时无法找到 错误:cannot open shared object file: No such file or directory
- linux系统分区文件系统划分札记
- http://blog.csdn.net/leo115/article/details/7532677
- tar 备份时如何保持权限
- 开源代码文献
- js监听输入框值的即时变化onpropertychange、oninput
- Mac+Sublime3+Python
- jQuery升级踩坑大全
- Java 开发者不容错过的 12 种高效工具
- 查看表空间信息SQL集合
- 此证书签发者无效
- Android 图片模糊实现方式
- OpenGL中旋转平移缩放等变换的顺序对模型的影响
- 找工作--volatile
- 自动更换 ICON
- MFC 窗口样式
- android实现EditText中加多行下划线的一种方法
- 创建对象的 三种方法