主键约束和唯一性约束

主键约束和唯一性约束都是索引,它们的区别是:

  1. 主键字段可以确保唯一性,但主键字段不能为NULL.
  2. 唯一性约束可以确保唯一性,但唯一性约束的字段可以为NULL
  3. 唯一性约束对含有NULL的记录不起作用,即可以重复加入含有NULL的记录,主键字段不能为NULL

mysql-workbench无法创建多字段唯一性约束,可以在命令行手工增加
增加多字段唯一性性约束
mysql>alter table cmd_end_regexp add constraint dev_series_uniq UNIQUE(dev_category_id,dev_series_id,dev_type_id);

删除唯一性约束
mysql>alter table cmd_end_regexp drop index dev_series_uniq;

=-=-=-=-=
Powered by Blogilo

时间: 2024-10-26 14:12:53

主键约束和唯一性约束的相关文章

SQL语句新建表,同时添加主键、索引、约束

SQL语句新建数据表   主键,索引,约束 CREATE TABLE [dbo].[T_SendInsideMessageRec]( [SendInsideMID] [uniqueidentifier] NOT NULL, [ReceiveMobile] [nvarchar](20) NULL, [SendTime] [datetime] NULL, [Content] [nvarchar](200) NULL, [result] [nvarchar](100) NULL, [remark] [

主键约束,唯一性约束,唯一性索引

1)主键列:比如我们在表A中指定ID为主键,Oracle数据库会自动创建一个同名的唯一索引 可以通过 select constraint_name,constraint_type from user_indexes ui where ui.table_name='A'来查看主键上的唯一索引,如果此时我们在给ID列去创建唯一性索引或者非唯一性索引的话,都会报错,当然指定主键之后自动也会生成主键约束,主键就是一种约束 (2)非主键列:我们在非主键列上创建一个唯一性约束,Oracle同样自动创建了一个

Orcale约束-------主键约束

主键是用来唯一确定一行数据的 一张表里面只能有一个主键 但是并不意味着一个主键只能放在一个字段上 有些情况会用两个字段组成联合主键(此种情况较奇葩建议少用) 主键有两种约束功能首先主键不能为null 同时主键是唯一的   一张表里面有且只有一个主键但是可以有多个非空并唯一的字段 建一个默认名字的主键 create table stu7( id number primary key, name varchar2(8)); 写一个有名字的主键 create table stu8( id number

Oracle之唯一性约束(UNIQUE Constraint)使用方法具体解释

Oracle | PL/SQL唯一索引(Unique Constraint)使用方法 1 目标 用演示样例演示怎样创建.删除.禁用和使用唯一性约束. 2 什么是唯一性约束? 唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约束. 联合字段中,可以包括空值. 注:在Oracle中,唯一性约束最多能够有32列. 唯一性约束能够在创建表时或使用ALTER TABLE语句创建. 3 唯一性约束和主键的差别 主键(Primary Key):全部组成主键的列都不能包括空值. 唯一性约束(U

Oracle之唯一性约束(UNIQUE Constraint)用法详解

Oracle | PL/SQL唯一索引(Unique Constraint)用法 1 目标 用示例演示如何创建.删除.禁用和使用唯一性约束. 2 什么是唯一性约束? 唯一性约束指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束.联合字段中,可以包含空值. 注:在Oracle中,唯一性约束最多可以有32列. 唯一性约束可以在创建表时或使用ALTER TABLE语句创建. 3 唯一性约束和主键的区别 主键(Primary Key):所有组成主键的列都不能包含空值. 唯一性约束(Unique

主键及主键索引的关系及相互影响

主键的定义:列或多列的集合,用于唯一的标识表中的一行.一个表上只允许有一个主键. 我们在数据库中指定主键时,是通过主键约束来定义的.而创建主键约束时,又是需要有相应的索引来配合实现的.所以,本文的目的是总结创建主键约束时,采用不同的方法创建索引后,主键与该索引之间的关系及相互影响. 为配合本文的描述和测试,首先创建如下测试表: create table test (id number,c1 varchar2(8)); 一. 首先,我们来看最常用的创建主键约束及索引的方法: alter table

MySQL的几个概念:主键,外键,索引,唯一索引

概念: 主键(primary key) 能够唯一标识表中某一行的属性或属性组.一个表只能有一个主键,但可以有多个候选索引.主键常常与外键构成参照完整性约束,防止出现数据不一致.主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引. 外键(foreign key) 是用于建立和加强两个表数据之间的链接的一列或多列.外键约束主要用来维护两个表之间数据的一致性.简言之,表的外键就是另一表的主键,外键将两表联系起来.一般情况下,要删除一张表中的主键必须首

oracle 建立主键与索引【转】

此文转自:http://blog.sina.com.cn/s/blog_439f80c4010094n1.html 创建主键: alter table T add primary key (V) T是表名,V是列名 创建索引: create index F2009100000NMINFOSYS_XIANG on f2009100000nminfo( SYS_XIANG );创建一般索引,索引名为表名+列名 create unique index F2009100000NMINFOSYS_ZDM 

mysql 主键和唯一索引的区别

主键是一种约束,唯一索引是一种索引,两者在本质上是不同的. 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键. 唯一性索引列允许空值,而主键列不允许为空值. 主键列在创建时,已经默认为非空值 + 唯一索引了. 主键可以被其他表引用为外键,而唯一索引不能. 一个表最多只能创建一个主键,但可以创建多个唯一索引. 主键和唯一索引都可以有多列. 主键更适合那些不容易更改的唯一标识,如自动递增列.身份证号等. 在 RBO 模式下,主键的执行计划优先级要高于唯一索引. 两者可以提高查询的速度.