oracle数据库中怎么设置一个字段的唯一性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库中怎么设置一个字段的唯一性?相关的知识,希望对你有一定的参考价值。

用程序或配置文件的,不用sql语句的。

有两种方法:

1. 将字段设置为主码(一个表只能定义一个主码):
a.创建表时设置主码:语句格式
create teable 表名( 字段名 类型及长度 PRIMARY KEY,...)
b.创建完表后给表添加主码(前提条件:表无主码,且将要设置为主码的列必须不允许空值、已存在的值不允许重复)
alter table 表名 add primary key(列名)
2. 设置字段为唯一值约束(一个表可以定义多个唯一值约束):
a. 创建表时设置唯一值约束
create table 表名(... , 字段名 类型及长度 UNIQUE, ...)
b.创建完表后添加唯一值约束(前提条件:将要设置唯一值约束的列已存在的值必须不重)
alter table 表名 add unique(列名)
参考技术A 1.设置成主键 PRIMARY KEY(字段)
2. 在创建表中加入constraint 表名 unique(字段)
参考技术B 可以设置唯一索引,但是null值是可以重复的 参考技术C create table t_a
(id int unique;
sname varchar2(20 char)
)
参考技术D 置为主键不就行了

数据库中怎么设置字段的唯一约束?

1. 建表时加上唯一性约束

CREATE TABLE `t_user` (

`Id` int(11) NOT NULL AUTO_INCREMENT,  -- 自增

`username` varchar(18) NOT NULL unique,  -- 唯一性约束

`password` varchar(18) NOT NULL,

PRIMARY KEY (`Id`)

) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;

2.给已经建好的表加上唯一性约束

ALTER TABLE `t_user` ADD unique(`username`);

参考资料

csdn.csdn[引用时间2018-1-9]

参考技术A

1、在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下:<字段名> <数据类型> UNIQUE。

2、接下来可以查看一下结果。

3、在修改表时添加唯一约束的语法格式为:ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>),这里建议重新创建一个来实验。

4、查看一下结果,发现创建成功了,如下图所示。

参考技术B create table teacher
(
tno char(10) not null primary key,
tn char(8) not null,
prof char(10) not null,
sal float(10) not null,
dept varchar(20) not null,
constraint un_tn unique not null --设置列tn唯一约束
) 记得采纳啊
参考技术C 对已经建好的表中的某一个列设置唯一约束
ALTER TABLE 表名 add UNIQUE KEY 约束名(列名)
参考技术D 创建表的时候给表的字段加上unique关键字

以上是关于oracle数据库中怎么设置一个字段的唯一性?的主要内容,如果未能解决你的问题,请参考以下文章

在导入Oracle数据库的时候违反唯一约束条件是为啥?要怎么解决?

在ORACLE中,怎么样取把一个字段去掉最后一位,再分组?

SQL中如何设置唯一性约束

数据库中怎么设置字段的唯一约束?

oracle触发器中需要通过字段来进行判断

如何解决Oracle“不能创建唯一索引,发现重复记录”问题