mysql 唯一键

唯一键特点:
1、唯一键在一张表中可以有多个。
2、唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较)
//一个表中允许存在多个唯一键,唯一键允许为空,在不为空的情况下,不允许重复
//设置一个字段为唯一键
mysql> alter table `table1` add unique ( `name_new`);
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc table1;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| name_new   | char(32)         | YES  | UNI | NULL    |                |
| transactor | varchar(10)      | NO   |     | NULL    |                |
| pid        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
+------------+------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

//删除唯一键(该字段依然存在)
alter table table1 drop index name_new;

原文地址:https://www.cnblogs.com/sea-stream/p/11300525.html

时间: 2024-10-04 12:06:29

mysql 唯一键的相关文章

[MySQL日记]主键唯一键重复插入解决方法

我们插入数据的时候,有可能碰到重复数据插入的问题,但是这些数据又是不被允许有重复值: CREATE TABLE stuInfo ( id INT NOT NULL COMMENT '序号', name VARCHAR(20) NOT NULL DEFAULT '' COMMENT '姓名', age INT NOT NULL DEFAULT 0 COMMENT '年龄', PRIMARY KEY (id), UNIQUE KEY uniq_name(name) ) ENGINE=InnoDB D

MySQL 处理插入过程中的主键唯一键重复值办法

200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE:接下来就分别看看这三种方式的处理办法. IGNORE 使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TA

mysql主键和唯一键重复的用法

表名heyf_t10,用来测试的语句为 INSERT INTO heyf_t10 ( empid, deptid, salary)VALUES (1, 2, 3) ON DUPLICATE KEY UPDATE empid = 1, deptid = 2, salary = 5 原始数据为 如图,唯一键这样设置,那么执行上面的sql后,因为触动了某个唯一键 如果唯一键如下图设置,原始数据和结果数据如下,原因是联合为一键,必须都重复才走进update语句,此为联合唯一键 如果是设置为主键的话,效果

对”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“理解

因为最近在写一篇关于字符串模糊检索的论文,开始比较细致的研究数据库(MySQL)中的index问题,变到图书馆借了本<Effective MySQL之SQL语句最优化>(Ronald Bradford著,李雪峰译).今天在里面看到了这句”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“.第一反应是:我去,什么鬼?简直不是人话啊!!其实计算机行业好多这种话,想了想然后便到网上查找了写资料! 使用WHERE子句的SQL SELECT命令来从MySQL表获取数据.但

主键唯一键重复插入解决方法

[MySQL日记]主键唯一键重复插入解决方法 我们插入数据的时候,有可能碰到重复数据插入的问题,但是这些数据又是不被允许有重复值: ? 1 CREATE TABLE stuInfo ( id INT NOT NULL COMMENT '序号', name VARCHAR(20) NOT NULL DEFAULT '' COMMENT '姓名', age INT NOT NULL DEFAULT 0 COMMENT '年龄', PRIMARY KEY (id), UNIQUE KEY uniq_n

数据表操作与主键、外键、唯一键使用

1.修改数据库(比如修改字符集) mysql> alter database `DB` character set utf8; 2.根据查询结果建立数据表,注意这样复制的数据表是不能将主键也复制过来的,也就是说此时的新表示没有主键的 mysql> create table student_bak select ID,name from student where ID=2; mysql> create table student_bak2 select * from student; 3

主键、唯一键、唯一索引的使用

主键只能用一个,不能为NULL,唯一(可以多列作为复合主键,当所有设置为复合主键的列都相同是视为唯一,多对多的表中常用) 唯一键,也称(唯一约束),和主键的区别是可以为有多个唯一键并且值可以为NULL,但NULL也不能重复,也就是说只能有一行的值为NULL.它会隐式的创建唯一索引. alter table 表名 add constraint 约束名 unique(列名) 唯一索引,几乎和唯一键一样,但可以添加过滤器来允许重复某些值 CREATE UNIQUE INDEX 索引名 ON 表名 (列

主键与唯一键的区别

sql 的三大类型分别是:数值类型,整形类型,字符串类型 字符串类型的char 和varchar 的区别: 在定义的时候都要指向char(M)varchar(M)的长度,varchar只是表示一定的范围, 1, varchar对存储空间的使用更加灵活 2, char的效率更高 3, 如果存储的字符串的长度是已知固定的,就用char,如果是可变的,就用varchar 案例代码: primary key 主键 unique key 唯一键的区别和用法 设置主键有两种方法: 1.在定义一个字段的时候直

按照艺术家分组并输出某个艺术家的唯一键-值对

<strong><span style="font-size:18px;">/*** * @author YangXin * @info 按照艺术家分组并输出某个艺术家的唯一键-值对 * Mapper输出艺术家,而Reducer只输出唯一的艺术家并丢弃空的字符值. */ package unitTwelve; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import o