primary key 和 unique区别
主要区别:
pri:复合主键的时候,和唯一即可
nn+un:每一个元素都要唯一

unique 可空,可以在一个表里的一个或多个字段定义;primary key 不可空不可重复,在一个表里可以定义联合主键;

简单的说,primary key = unique + not null

unique 就是唯一,当你需要限定你的某个表字段每个值都唯一,没有重复值时使用。比如说,如果你有一个person 表,并且表中有个身份证的column,那么你就可以指定该字段为unique。 从技术的角度来看,Primary Key和Unique Key有很多相似之处。但还是有以下区别:

1、作为Primary Key的域/域组不能为null,而Unique Key可以。

2、在一个表中只能有一个Primary Key,而多个Unique Key可以同时存在。unique not null 可以将表的一列或多列定义为唯一性属性,而primary key设为多列时,仅能保证多列之和是唯一的,具体到某一列可能会重复。

更大的区别在逻辑设计上。Primary Key一般在逻辑设计中用作记录标识,这也是设置Primary Key的本来用意,而Unique Key只是为了保证域/域组的唯一性。

primary key 和 unique区别相关推荐

  1. key mysql_mysql中key 、primary key 、unique key 与index区别

    mysql中索引是非常重要的知识点,相比其他的知识点,索引更难掌握,并且mysql中的索引种类也有很多,比如primary key .unique key 与index等等,本文章向大家介绍mysql ...

  2. mysql unique和key_MYSQL的primary key和unique key的区别

    [网络转载]http://blog.csdn.net/yaoxy/archive/2009/07/16/4353115.aspx Primary key 与Unique Key都是唯一性约束.但二者有 ...

  3. key 、primary key 、unique key 与index区别

    一.key与primary key区别  CREATE TABLE wh_logrecord (  logrecord_id int(11) NOT NULL auto_increment,  use ...

  4. 数据库primary key和unique的区别与联系

    简单的说,primary key = unique +  not null unique 就是唯一,当你需要限定你的某个表字段每个值都唯一,没有重复值时使用.比如说,如果你有一个student 表,并 ...

  5. primary key与unique的区别

    定义了 UNIQUE 约束的字段中不能包含重复值,可以为一个或多个字段定义 UNIQUE 约束.因此,UNIQUE 即可以在字段级也可以在表级定义, 在 UNIQUED 约束的字段上可以包含空值.OR ...

  6. MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别

    文章目录 一.背景知识 二.MySQL 中 KEY 与 INDEX 区别 三.key的总结和分类 四.INDEX索引介绍 五.PRIMARY KEY 和 UNIQUE KEY 的区别 六.操作索引 一 ...

  7. Mysql中key 、primary key 、unique key 与index区别

    https://www.cnblogs.com/zjfjava/p/6922494.html 索引被用来快速找出在一个列上用一特定值的行.没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表 ...

  8. PRIMARY KEY 与 UNIQUE

    定义了 UNIQUE 约束的字段中不能包含重复值,可以为一个或多个字段定义 UNIQUE 约束.因此,UNIQUE 即可以在字段级也可以在表级定义, 在UNIQUED 约束的字段上可以包含空值.ORA ...

  9. mysql数据库中key 、primary key 、unique key 与index区别

    所有的MySQL索引(PRIMARY.UNIQUE和INDEX)在B树中存储.字符串是自动地压缩前缀和结尾空间. 下面是建表的语句: CREATE TABLE `phpcolor_ad` ( `id` ...

最新文章

  1. HTML复选框和提交按钮组合设置
  2. Oracle 11gR1中细粒度拜候搜集效劳(2)
  3. linux swap 内存交换分区调整
  4. VC6解决托盘菜单不消失
  5. BuildIt: Visual Studio .NET 的自动生成工具
  6. Codeforces Round #527 (Div. 3) 总结 A B C D1 D2 F
  7. nodejs+vue.js+webpack
  8. StringBuilder详解
  9. 逆向so_安卓逆向 | 分析调试与so调用实战
  10. codeforces CF986C AND Graph 建圖 dfs
  11. freebsd配置IP
  12. CentOS 6.3用ssh无密码登陆其它主机
  13. Android Camera TakePicture過程分析
  14. 设计模式精髓—封装变化
  15. 一位Erlang程序猿的自白
  16. 多目标优化问题和遗传算法学习
  17. Linux 面试最常问的十个问题
  18. power iso linux启动盘,怎么用poweriso制作u盘启动盘win10_poweriso制作u盘启动盘win10详细步骤...
  19. Excel VBA小程序04- 合并同文件夹下多工作簿中同名工作表并生成汇总表格
  20. php外包如何逃离垃圾客户案例(转)

热门文章

  1. 大连东软信息学院linux系统编程,大连东软信息学院Linux系统编程考试资料
  2. Pangolin库:控制面板、控制组件、快捷键设置
  3. vue.js表情文本输入框组件
  4. ZOOM H1n录音笔怎么连接电脑做音频输入麦克风【教程】
  5. 【git分支及处理冲突的方法】
  6. 怎么给计算机主机设置密码,如何给电脑硬盘设置密码
  7. 王兴、张一鸣公开评论BAT和互联网下半场
  8. Linux中使用curl命令发送带参数的get请求和post请求
  9. 百度新闻源:“蓝天算法”正式上线,严厉打击低质软文侵扰用户
  10. Porting Kit for mac(游戏移植工具)