51Testing软件测试论坛
标题:
自己的东东2
[打印本页]
作者:
hhui623
时间:
2010-4-26 19:04
标题:
自己的东东2
相同点:都能够确定唯一性
唯一约束冲突
SQL> insert into emp(empid,emp_name,deptno,salary) values(1,'zhangsan',10,0);
已创建 1 行。
SQL> insert into emp(empid,emp_name,deptno,salary) values(2,'zhangsan',20,0);
insert into emp(empid,emp_name,deptno,salary) values(2,'zhangsan',20,0)
*
ERROR 位于第 1 行:
ORA-00001: 违反唯一约束条件 (SCOTT.UK_EMP)
主键冲突
SQL> insert into emp(empid,emp_name,deptno,salary) values(1,'zhangsan',10,0);
已创建 1 行。
SQL> insert into emp(empid,emp_name,deptno,salary) values(1,'lisi',20,0);
insert into emp(empid,emp_name,deptno,salary) values(1,'lisi',20,0)
*
ERROR 位于第 1 行:
ORA-00001: 违反唯一约束条件 (SCOTT.PK_EMP)
SQL> rollback;
回退已完成。
不同点:主键约束不允许空,但唯一约束可以为空,
每张表最多只有一个主键,但可以具有多个唯一约束(此处不做验证)
主键为空:
SQL> insert into emp(empid,emp_name,deptno,salary) values('','张三',20,0);
insert into emp(empid,emp_name,deptno,salary) values('','张三',20,0)
*
ERROR 位于第 1 行:
唯一约束为空:
ORA-01400: 无法将 NULL 插入 ("SCOTT"."EMP"."EMPID")
SQL> insert into emp(empid,emp_name,deptno,salary) values(1,'',20,0);
已创建 1 行。
SQL> insert into emp(empid,emp_name,deptno,salary) values(2,'',20,0);
已创建 1 行。
SQL> insert into emp(empid,emp_name,deptno,salary) values(3,'',20,0);
已创建 1 行。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2