mysql主键和唯一键的区别
什么是主键?
主键是表中唯一标识该表中每个元组(行)的列。主键对表实施完整性约束。表中只允许使用一个主键。主键不接受任何重复值和空值。表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改的地方。一个表的主键可以被另一个表的外键引用。
什么是唯一键?
唯一键约束可以唯一地标识关系或表中的单个元组。与主键不同,一个表可以有多个唯一键。唯一键约束只能接受列的一个空值;唯一约束也由另一个表的外键引用。当有人想对非主键的列和列组实施唯一约束时,可以使用它。
主键索引和唯一索引的区别
主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。
主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。
唯一性索引列允许空值,而主键列不允许为空值。
主键列在创建时,已经默认为空值 + 唯一索引了。
主键可以被其他表引用为外键,而唯一索引不能。
一个表最多只能创建一个主键,但可以创建多个唯一索引。
主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。
创建示例
mysql> CREATE TABLE tb_emp4-> (-> id INT(11),-> name VARCHAR(25),-> deptId INT(11),-> salary FLOAT,-> PRIMARY KEY(id)-> );
CREATE TABLE IF NOT EXISTS contacts (id INT AUTO_INCREMENT PRIMARY KEY,first_name VARCHAR(50) NOT NULL,last_name VARCHAR(50) NOT NULL,phone VARCHAR(15) NOT NULL,email VARCHAR(100) NOT NULL,UNIQUE KEY unique_email (email)
);
mysql主键和唯一键的区别相关推荐
- springboot 主键重复导致数据重复_程序员:MySQL处理插入过程中主键或唯一键重复值的解决办法
向MySQL插入数据有时会遇到主键重复的场景,原来的做法是先在程序代码中SELECT一下,判断是否存在指定主键或唯一键的数据,如果没有则插入,有的话则执行UPDATE操作,或另外一套逻辑,这种方法是不 ...
- MySQL处理插入过程中主键或唯一键重复值的解决办法
向MySQL插入数据有时会遇到主键重复的场景,原来的做法是先在程序代码中SELECT一下,判断是否存在指定主键或唯一键的数据,如果没有则插入,有的话则执行UPDATE操作,或另外一套逻辑,这种方法是不 ...
- mysql唯一性和主键区别_Mysql主键和唯一键的区别点总结
什么是主键? 主键是表中唯一标识该表中每个元组(行)的列.主键对表实施完整性约束.表中只允许使用一个主键.主键不接受任何重复值和空值.表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改 ...
- sql主键和唯一键和外键
mysql数据库中对字段的约束里存在主键约束,也存在唯一键约束,这两种约束很容易出现混淆的情况,这里讲一下两个的区别: 主键和唯一键的对比: 约束 保证唯一性 是否为空 一个表中有多少个 是否允许组合 ...
- powerdesigner设置主键为自增字段,设置非主键为唯一键并作为表的外键
转自:https://www.cnblogs.com/CoffeeHome/archive/2014/06/04/3767501.html 这里powerdesigner连接的数据库是以mysql为例 ...
- 数据库主键、外键和唯一键的区别
数据库主键.外键和唯一键的区别 现在我们想建立学生表,用来存储,一个系统的登陆信息.建表如下: create table student4 (stu_id int primary key identi ...
- DB2添加数据时主键、唯一键冲突的解决方法
DB2添加数据时主键.唯一键冲突的解决方法 参考文章: (1)DB2添加数据时主键.唯一键冲突的解决方法 (2)https://www.cnblogs.com/equation/articles/91 ...
- 主键、唯一键、外键、
类型 保证唯一性 是否允许空 一个表中可以有多少个 是否允许组合 主键(primary key) 是 否 至多一个,可以为0 允许(不推荐,因为不稳定) 唯一(unique) 是 是 可以有多个 允许 ...
- ORA-02437: cannot validate(主键或唯一键约束名) - primary key violated
今天在对现有表建立唯一索引时遇到该Ora异常 ORA-02437: cannot validate(主键或唯一键约束名) - primary key violated 主键或唯一键的数据有重复值,一般 ...
最新文章
- Cable master (POJ No.1064)
- Android--相对布局
- .GRIDVIEW奇偶行变色
- codeforces 264 B. Good Sequences(dp+数学的一点思想)
- python 40位的数减个位数_Python数据分析入门教程(五):数据运算
- 中国酒精炉行业市场供需与战略研究报告
- Java WEB之过滤器
- java中的 element_Java中队列的element()方法的用法
- 贾俊平统计学第七版课后习题答案
- android translateanimation动画,Android 动画之TranslateAnimation应用详解
- 论文公式以及公式标号怎么通过统一格式(居中、居右)
- Foxmail登录网易邮箱提示LOGIN Login error user suspended
- Akm函数递归和非递归
- C 语言 —— 循环结构
- 【安全开发】IOS安全编码规范
- Linux中SELinux理解
- android设备 应用场景,友盟2015年Q2、Q3季度中国移动互联网趋势报告:用数据构建用户使用场景...
- 数据库课程设计--淘宝购物订单系统
- 后端质料springboot
- 计算机组成原理指令系统例题,计算机组成原理作业题5
热门文章
- gcc指定头文件搜索路径及动态链接库搜索路径
- 写的一款LRC格式歌词编辑软件 (ManeLrc) 欢迎下载
- Win10非分页缓冲池过大
- 天玑810和麒麟710哪个好
- 银河麒麟操作系统安装Mono开发环境操作步骤
- 使用Matplotlib让你轻松入门Python数据可视化
- 7个最佳WooCommerce跨境电商社交媒体插件
- Linux SPI 应用编程
- iphone保存html视频格式,iPhone6支持什么视频格式?iPhone6支持RMVB播放吗?
- 研究室秒变后厨,TensorFlow被馋哭!日本团队用深度学习识别炸鸡,救急便当工厂...