mysql可通过给行(字段)添加唯一性约束来设置行值唯一,语法格式“CREATE TABLE 表名 (字段名 数据类型 UNIQUE);”和“ALTER TABLE 表名 ADD CONSTRAINT 唯一约束名 UNIQUE(列名);”。

MySQL数据库唯一性设置unique index

在数据库设计中设置主键的字段是不会重复的、唯一的,如果有其他字段也需要保持唯一性应该如何设置呢?比如一个保存用户信息的表里要保证每条记录的手机号都不同。这时候就需要对该字段设置唯一性。

设置唯一性后的字段,在数据库层面保证了该字段不会出现相同的值。下面说一下唯一性的设置方法:

mysql命令行操作索引

1、建表时加CREATE TABLE `member` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(18) NOT NULL ,

`phone` varchar(18) NOT NULL unique,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

2、建表后改alter table member add unique(phone);

使用Navicat工具添加索引

使用navicat操作mysql数据库更加方便,推荐大家多多使用这种方式

设计表时:如图选择索引,第一项‘名’,随便自己起一个有意义的名字就行了。第二项是你要设置唯一性的字段,然后索引类型选择unique。选中要修改的表名称,右击选中设计表

常遇到的问题

如果唯一性是后期加的(设计完表之后,并且表里已经有了一些数据)

可能存在表中部分数据不满足唯一性的情况,例:想对字段phone设置唯一性,但目前表中有两条数据phone都是同一个手机号,这是设置唯一性就会出错。

如上图所示(这种情况在命令行操作下也会出现,只不过是以文字的形式)

这时就应该删除重复的数据后再设置唯一性。

两个或多个字段的组合成唯一索引

例子:一个用户,存了姓名和手机号,

这里只允许每个手机号只对应一个名称,即name和phone的组合不能出现重复的情况,也就是说不能有两条记录他们的name和phone都相同。

如何在mysql中进行设置呢,这里只给出navicat中的方法:如图只需要选中两个栏位就可以啦!

在mysql中怎样设置值唯一_mysql怎么设置行值唯一?相关推荐

  1. mysql设置行值唯一_mysql怎么设置行值唯一?

    mysql可通过给行(字段)添加唯一性约束来设置行值唯一,语法格式"CREATE TABLE 表名 (字段名 数据类型 UNIQUE);"和"ALTER TABLE 表名 ...

  2. mysql中如何删除空记录表_mysql删除表中的记录

    大家都知道,在MySQL中删除一个表中的记录有两种方法,一种是DELETE FROM TABLENAME WHERE... , 还有一种是TRUNCATE TABLE TABLENAME. DELET ...

  3. mysql中只运行一部分数据_MySQL(一)——MySQL基础和部分面试题

    MySQL基础: 数据库的创建与删除 CREATE DATABASE ;//创建数据库 DROP DATABASE ;//删除数据库 数据库表的创建与删除 CREATE TABLE (column_n ...

  4. mysql中数据发生变化时判断_MySql插入记录时判断

    我们在开发数据库相关的逻辑过程中, 经常检查表中是否已经存在这样的一条记录, 如果存在则更新或者不做操作, 如果没有存在记录,则需要插入一条新的记录. 这样的逻辑固然可以通过两条sql语句完成. SE ...

  5. mysql中自增auto_increment功能的相关设置及问题

    1. mysql中的自增auto_increment功能相信每位phper都用过,本文就为大家分享一下mysql字段自增功能的具体查看及设置方法 mysql中的自增auto_increment功能相信 ...

  6. mysql中的表连接知识点_Mysql知识点总结

    SQL语句执行流程 MySQL大体上可分为Server层和存储引擎层两部分. Server层: 连接器:TCP握手后服务器来验证登陆用户身份,A用户创建连接后,管理员对A用户权限修改了也不会影响到已经 ...

  7. mysql中存储引擎是啥_mysql中的存储引擎

    mysql存储引擎概述 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. ...

  8. mysql中的参数如何调试_mysql 查询优化 ~ 查询参数调节

    mysql优化基础之参数调节 一 简介:我们谈谈如何调节mysql参数加速查询 二 相关参数 1 排序参数 sort_buffer_size 当出现order by时会利用到这个参数,当数据量超过内存 ...

  9. mysql中需要提交的操作_MySQL常用操作及基础知识

    原标题:MySQL常用操作及基础知识 1.启动和关闭mysql服务器: service mysql start service mysql stop 2.重启MySQL服务: service mysq ...

最新文章

  1. yum clean all之后出错_“之后”英语的4种表达方式?
  2. 科普长文揭秘生命为何会具有主观能动性
  3. 论文|记忆网络之Memory Networks
  4. PostgreSQL 压缩包 在win7上安装
  5. 浅谈数据仓库建设中的数据建模方法
  6. 20个很酷的CSS3导航菜单制作教程
  7. InstallShield 2008 终止声明 (EOL)对最终客户意味着什么
  8. LNMP一键安装shell脚本
  9. scrum回顾_133. 你最重要:2020版Scrum指南解读
  10. 23种设计模式(4)-生成器模式
  11. 最好用最方便的sqlite管理工具
  12. ubuntu下oracle数据的导入,Ubuntu下Oracle10g的导入与导出
  13. javascript;json数据,js转换日期方法。
  14. 考研:无穷小微积分的不适症
  15. word打开老是配置进度_打开word文档显示配置进度怎么办 Word文档提示配置进度解决办法...
  16. springMVC+mybatis
  17. 【教程】如何查看自己的外网ip是不是公网ip
  18. 为什么要远离色情信息(转载)
  19. 知物由学 | Android 模拟点击研究,如何突围“黑灰产”的自动化作弊?
  20. 【用户研究】【实战】——“得到”APP 可用性测试

热门文章

  1. 【Linux多线程】三个经典同步问题
  2. OpenCV图像处理——对比两张图像差异的位置并标记
  3. python define graph_Python数据结构与算法之图结构(Graph)实例分析
  4. Windbg内核调试之四: Dump文件分析
  5. 数据库MYSQL学习系列一
  6. 无线通信领域:技术整合,创造未来
  7. ObjectInputStreamObjectOutputStream工具类
  8. 基于React脚手架集成Cesium
  9. Java 分布式 RPC 框架性能大比拼,Dubbo 排第几?
  10. 触目惊心,超过 8000+ 漏洞 Redis 暴露在云端!