mysql创建唯一索引UNIQUE INDEX,以及报错“#失败原因: [Execute: Duplicate entry '733186700' for key 'uniq_video_id_index']”

要给t_video_prods表的video_id字段创建唯一所以,可以使用下面这条语句:

alter table t_video_prods add UNIQUE INDEX `uniq_video_id_index`(`video_id`) COMMENT '爱奇艺id唯一索引';

 

运行的时候报错:

内容:
#失败原因: [Execute: Duplicate entry '733186700' for key 'uniq_video_id_index']

#SQL文本: alter table t_video_prods add UNIQUE INDEX `uniq_video_id_index`(`video_id`) COMMENT '爱奇艺id唯一索引'
#-------------------------------------------------


## 更多详细信息, 请查看收到的SQL上线执行结果回执邮件 ##

 

原因是由于我是在旧表上创建唯一索引,创建前已经存在不是唯一值的列,所以删除重复的数据,再执行创建命令就可以了,

有一个命令可以创建唯一索引,并自动去掉重复的值, 如下:

ALTER IGNORE TABLE t_video_prods  ADD   UNIQUE  index uniq_video_id_index(`video_id`) COMMENT '爱奇艺id唯一索引';

posted @ 2019-02-19 11:06  封狼居胥_神都  阅读(4658)  评论(0编辑  收藏  举报