mysql设置唯一键1062错误,#1062-尝试添加唯一键(MySQL)时,键'unique_id'的条目重复...

I've got an error on MySQL while trying to add a UNIQUE KEY. Here's what I'm trying to do. I've got a column called 'unique_id' which is VARCHAR(100). There are no indexes defined on the table. I'm getting this error:

#1062 - Duplicate entry '' for key 'unique_id'

When I try to add a UNIQUE key. Here is a screenshot of how I'm setting it up in phpMyAdmin:

639924cc852da7f2d9c6abec0f6a0434.png

Here is the MySQL query that's generate by phpMyAdmin:

ALTER TABLE `wind_archive` ADD `unique_id` VARCHAR( 100 ) NOT NULL FIRST ,

ADD UNIQUE (

`unique_id`

)

I've had this problem in the past and never resolved it so I just rebuilt the table from scratch. Unfortunately in this case I cannot do that as there are many entries in the table already. Thanks for your help!

解决方案

The error says it all:

Duplicate entry ''

So run the following query:

SELECT unique_id,COUNT(unique_id)

FROM yourtblname

GROUP BY unique_id

HAVING COUNT(unique_id) >1

This query will also show you the problem

SELECT *

FROM yourtblname

WHERE unique_id=''

This will show you where there are values that have duplicates. You are trying to create a unique index on a field with duplicates. You will need to resolve the duplicate data first then add the index.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值