我正在尝试使用MySQL更改表,但是它将在ALTER上显示错误:
#1062-关键字“ doctermitem”的条目“ 5009-daring-1”重复存在
SQL查询:
ALTER TABLE `wpi4_asp_index`
ADD UNIQUE KEY `doctermitem` (`doc`,`term`,`blogid`),
ADD KEY `term_ptype_bid_lang` (`term`(20),`post_type`(20),`blogid`,`lang`(10)),
ADD KEY `rterm_ptype_bid_lang` (`term_reverse`(20),`post_type`(20),`blogid`,`lang`(10))
如何解决此错误?
答案 0 :(得分:0)
您正尝试将doctermitem
创建为UNIQUE KEY
,但是该组合中已经存在重复的条目(如您提到的'5009-daring-1'),因此不允许添加doctermitem
为UNIQUE KEY
。
您需要手动删除这些重复的组合值,然后才能创建UNIQUE KEY
答案 1 :(得分:0)
您为唯一键定位的列不是唯一的-至少有一行是重复的,可能还会更多。
通过SQL语句查找它们:
select doc,
term,
blogid,
count(*)
from wpi4_asp_index
group by doc,
term,
blogid
having count(*) > 1
然后,您必须确定问题是什么以及如何解决。从广义上讲,可能有两个原因: