表名没大写吧
一张表只能有一个主键
你的约束名称不是pk_id,是SYS_C0011985
删除主键约束用到了DROP,是DDL(数据定义语言),需要添加ALTER TABLE
我是这样理解的,空值就是NULL,是个数据叫空值。但是没有数据,也就包括了没有空值。
数据字典,让你知道系统帮你保存的关于约束的一些信息,desc相当于查看表结构,看看这个表有哪些字段,然后你去查你需要的字段信息。
正在给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用户下的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;