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

Posted

tags:

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

参考技术A 有两种方法:
1.
将字段设置为主码(一个表只能定义一个主码):
a.创建表时设置主码:语句格式
create
teable
表名(
字段名
类型及长度
primary
key,...)
b.创建完表后给表添加主码(前提条件:表无主码,且将要设置为主码的列必须不允许空值、已存在的值不允许重复)
alter
table
表名
add
primary
key(列名)
2.
设置字段为唯一值约束(一个表可以定义多个唯一值约束):
a.
创建表时设置唯一值约束
create
table
表名(...
,
字段名
类型及长度
unique,
...)
b.创建完表后添加唯一值约束(前提条件:将要设置唯一值约束的列已存在的值必须不重)
alter
table
表名
add
unique(列名)

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

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数据库,ORA-01400: 无法将 NULL 插入 ("SYSTEM"."PIZZA"."FACET")

oracle 数据库ora-01408是啥错误

oracle 中报ora-30926 无法在源表中获得稳定的行 是怎么回事

oracle 中报ora-30926 无法在源表中获得稳定的行 是怎么回事

oracle ORA-01840:输入值对于日期格式不够长,请高手帮忙。有非法数据?怎么处理?

ORA-00001: 违反唯一约束条件