mysql 延迟添加唯一索引
MySQL [test]> create table tbl_keyword (
-> id int not null auto_increment primary key,
-> keyword varchar(256) not null
-> )
-> ;
Query OK, 0 rows affected (0.06 sec)
MySQL [test]> insert into tbl_keyword(keyword) values ("aa"),("bb"), ("cc"), ("aa"),("bb");
Query OK, 5 rows affected (0.05 sec)
Records: 5 Duplicates: 0 Warnings: 0
MySQL [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| tbl_keyword |
+----------------+
1 row in set (0.03 sec)
MySQL [test]> desc tbl_keyword;
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| keyword | varchar(256) | NO | | NULL | |
+---------+--------------+------+-----+---------+----------------+
2 rows in set (0.03 sec)
MySQL [test]> alter table tbl_keyword add idempotent_id char(32);
Query OK, 0 rows affected (0.11 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [test]> alter table tbl_keyword add unique index idempotent_id(idempotent_id);
Query OK, 0 rows affected (0.07 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [test]> desc tbl_keyword;
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| keyword | varchar(256) | NO | | NULL | |
| idempotent_id | char(32) | YES | UNI | NULL | |
+---------------+--------------+------+-----+---------+----------------+
3 rows in set (0.03 sec)
MySQL [test]> select * from tbl_keyword;
+----+---------+---------------+
| id | keyword | idempotent_id |
+----+---------+---------------+
| 1 | aa | NULL |
| 2 | bb | NULL |
| 3 | cc | NULL |
| 4 | aa | NULL |
| 5 | bb | NULL |
+----+---------+---------------+
5 rows in set (0.03 sec)
MySQL [test]> insert into tbl_keyword(keyword, idempotent_id) values ("aa", md5("aa")), ("bb", md5("bb")), ("cc", md5("cc"));
Query OK, 3 rows affected (0.03 sec)
Records: 3 Duplicates: 0 Warnings: 0
MySQL [test]> select * from tbl_keyword;
+----+---------+----------------------------------+
| id | keyword | idempotent_id |
+----+---------+----------------------------------+
| 1 | aa | NULL |
| 2 | bb | NULL |
| 3 | cc | NULL |
| 4 | aa | NULL |
| 5 | bb | NULL |
| 11 | aa | 4124bc0a9335c27f086f24ba207a4912 |
| 12 | bb | 21ad0bd836b90d08f4cf640b4c298e7c |
| 13 | cc | e0323a9039add2978bf5b49550572c7c |
+----+---------+----------------------------------+
8 rows in set (0.03 sec)
MySQL [test]> insert into tbl_keyword(keyword, idempotent_id) values ("aa", md5("aa")), ("bb", md5("bb"));
ERROR 1062 (23000): Duplicate entry '4124bc0a9335c27f086f24ba207a4912' for key 'idempotent_id'
MySQL [test]> select * from tbl_keyword;
+----+---------+----------------------------------+
| id | keyword | idempotent_id |
+----+---------+----------------------------------+
| 1 | aa | NULL |
| 2 | bb | NULL |
| 3 | cc | NULL |
| 4 | aa | NULL |
| 5 | bb | NULL |
| 11 | aa | 4124bc0a9335c27f086f24ba207a4912 |
| 12 | bb | 21ad0bd836b90d08f4cf640b4c298e7c |
| 13 | cc | e0323a9039add2978bf5b49550572c7c |
+----+---------+----------------------------------+
8 rows in set (0.03 sec)
mysql 延迟添加唯一索引的更多相关文章
- mysql多字段唯一索引
项目中需要用到联合唯一索引: 例如:有以下需求:每个人每一天只有可能产生一条记录:处了程序约定之外,数据库本身也可以设定: 例如:user表中有userID,userName两个字段,如果不希望有2条 ...
- mysql 多列唯一索引在事务中select for update是不是行锁?
在表中有这么一索引 UNIQUE KEY `customer_id` (`customer_id`,`item_id`,`ref_id`) 问1. 这种多列唯一索引在事务中select for upd ...
- mysql 允许在唯一索引的字段中出现多个null值
线上问题:org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [update fl_table ...
- 视图view没有主键,但可以添加唯一索引
视图没有主键,但可以加上唯一索引 大致可以这样理解:视图是张虚拟的表.视图所对应的数据不进行实际的存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表. ...
- Mysql中给有记录的表添加唯一索引
ALTER IGNORE TABLE neeqs ADD UNIQUE KEY `unique` (`seccode`, `enddate`, `f002v`);
- MySQL添加唯一索引
1 语法如下 ALTER TABLE `t_user` ADD unique(`username`);
- mysql延迟查询, 覆盖索引使用例子
引用自 'mysql高性能' 5.3.6章节 不能使用覆盖索引的情况 : 解决办法 :
- MySQL给字段唯一索引的三种方法
建表时添加 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `stu_id` ) NOT NULL AUTO_INCREMENT, ` ...
- mysql alter 添加索引
1.添加主键索引 ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) 2.添加唯一索引 ALTER TABLE `table_name` ADD U ...
随机推荐
- 品尝阿里云容器服务:5个2核4G节点使用情况记载
使用5台2核4G非IO优化的ECS作为节点创建集群,节点操作系统是Ubuntu 16.04.2 LTS.创建后3个为mananger节点,2个为worker节点,每个节点默认会运行7个容器,其中3个s ...
- 微信小程序image组件中aspectFill和widthfix模式应用详解
aspectFill 与 widthfix 都是保持宽高比不变 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来.也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发 ...
- Haproxy的三种保持客户端会话保持方式
2017-03-25 15:41:41 haproxy 三种保持客户端Seesion; 一.源地址hash(用户IP识别) haroxy 将用户IP经过hash计算后 指定到固定的真实服务器上(类 ...
- expect远程登录服务器并执行命令
#!/usr/bin/expectset timeout 120 #设置执行超时时间,任何输入120秒后退出set password "password" ...
- 单调性 [1 + 1 / (n)]^n
def f(n): n += 0.0 s = 1 + 1 / (n) r = pow(s, n) print(n, ',', r) return r l = []for i in range(1, 1 ...
- [skill][graphviz] 到底用什么画图: graphviz/inkscape/yed
官方教程文档:http://www.graphviz.org/pdf/dotguide.pdf 一:在文档里抄一个简单的例子 /home/tong/Src/copyright/onescorpion/ ...
- 状压dp的另一种形式
做的那么多都是一些比较怎么说呢,都是在数网格一类的题目之中,这些题目有些有点固定的套路,而一些需要状态压缩的题目呢,则么是真正对状态转移的考验. 这道题呢,被彻底打脸了,以后一定要任性一点一道题做不出 ...
- java之反射的基本介绍
什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调用对象的方法的功能称为Java的反射 ...
- python摸爬滚打之day03----基本数据类型(int,str,bool)
1.数据类型转换 字符串 ----> bool print( bool("hello") ) -----> True 数字----> bool print( b ...
- C语音读写文件
1.fopen() fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此 ...