이미 데이터가 포함된 MariaDB 테이블에 키를 추가하려면 어떻게 해야 합니까?
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))
이 오류를 해결하려면 어떻게 해야 하나요?
작성하려고 합니다.doctermitem
~하듯이UNIQUE KEY
단, 이미 중복된 엔트리가 그 조합에 존재하기 때문에('5009-syslog-1'을 언급)doctermitem
~하듯이UNIQUE KEY
.
이러한 중복된 조합값을 수동으로 삭제해야 합니다.그러면 이 값을 사용하여UNIQUE KEY
고유 키를 대상으로 하는 열이 고유하지 않습니다. 중복되는 행이 하나 이상 있고 더 많을 수 있습니다.
SQL 문을 통해 검색:
select doc,
term,
blogid,
count(*)
from wpi4_asp_index
group by doc,
term,
blogid
having count(*) > 1
그런 다음 문제가 무엇인지, 어떻게 해결할 것인지 결정해야 합니다.대략적으로 다음 두 가지 원인이 있을 수 있습니다.
- 잘못된 데이터가 있습니다.예를 들어 중복 항목을 삭제하여 데이터를 수정합니다.
- 고유성에 대한 가정이 잘못되었습니다. 고유 키에 열을 추가해야 할 수 있습니다.
언급URL : https://stackoverflow.com/questions/55902062/how-can-i-add-a-key-to-mariadb-table-that-already-contains-data
'programing' 카테고리의 다른 글
python의 바이트 배열에 대한 16진수 문자열 (0) | 2022.10.26 |
---|---|
랜덤 (Java 7)의 181783497276652981 및 8682522807148012는 무엇입니까? (0) | 2022.10.26 |
파일에 기록하고 stdout에 인쇄하는 로거 구성 (0) | 2022.10.26 |
entity-manager가 있는 경우 session 개체를 가져오려면 어떻게 해야 합니까? (0) | 2022.10.26 |
.so 파일에 기호를 나열하려면 어떻게 해야 합니까? (0) | 2022.10.26 |