최근에 VPS를 계속 사용하다가 워드프레스를 옮기는 과정에서 데이터베이스를 가져오던 때를 막 마주쳤습니다. 만났어
#1062 – 키 'PRIMARY'의 중복 항목 '1'
그때 저는 급했고, 원본 데이터를 모두 삭제했으며, 전능한 백두에게 요청할 수밖에 없었습니다. 하루 종일 찾아다니다가 결국 찾았다. 신나, 바로 테스트해, O(∩_∩) O 하하~ 성공.
이제 첨부된 해결책이 있습니다. 원래 오래된 데이터를 지우고 가져오면 됩니다.
원리가 이해가 안 되니까 직접 들어 보라. 어쨌든, 목표를 달성하는 것은 괜찮습니다.
"팁 #1062 – 'PRIMARY' 키에 '1' 항목이 중복됨, 나중에 알게 된 바로는 마지막으로 한도를 초과한 적이 부분적으로 임포이팅되었고, ID가 메인 키라 동일할 수 없으니 작동하지 않습니다. 모든 이전 데이터를 삭제하고 리디렉션할 수 있습니다."
또한 이 해결책을 게시해 주신 블로거분께도 감사드립니다. 안 그러면 곤란해질 거야."
원문 언어
오늘 겪은 문제는 매우 단순하지만 매우 흔하며, 여기에 기록하겠습니다: 한 기기에서 다른 기기로 데이터를 가져오면 레코드가 너무 많아서 처음에는 신경 쓰지 않았고, phpmyadmin 한도를 초과했으며, 프롬프트가 잘못됐습니다. 수동으로 파일을 작은 파일로 나누었는데, 그때 #1062 - 키의 '1' 항목이 중복됨'이라는 메시지가 떴습니다. 나중에 알게 된 사실은, 마지막으로 한도를 초과한 때가 일부로 가져오기 중이었고, ID가 기본 키라는 사실을 알게 되었습니다. 이 키는 동일할 수 없기 때문에, 모든 이전 데이터를 삭제하고 리디렉션할 수 없습니다.
좋습니다. 저와 같은 문제를 겪고 있다면 지금 시도해 보세요. 노력하지 않으면 모르겠어요
Mysql은 데이터 백업을 수행하고 복원하며 응답하며, 다음과 같은 오류 코드가 나타납니다: 디스쿠즈! 정보: MySQL 쿼리 오류
User: webcull
Time: 2008-7-10 2:20pm 스크립{필터}T. /post.php
SQL: INSERT INTO [Table]posts (fid, tid, first, author, authorid, subject, dateline, message, useip, invisible, anonymous, usesig, htmlon, bbcodeoff, smileyoff, parseurloff, attachment) 값 ('45', '2727', '0', 'webcull', '6', '', '1216707030', 'ddd', '192.168.253.1', '0', '0', '0', '0', '-1', '-1', ''', '0')
Error: Duplicate entry '2678' for key 1
Errno.: 1062
온라인 검색 분석의 이유: 필드 PID가 기본 키이자 auto_increment 속성일 수 있으며, 중복된 값이 없을 수도 있습니다. 그리고 데이터를 백업할 때, 데이터 쓰기가 데이터 테이블을 깨뜨릴 수도 있었습니다.
몇 가지 방법을 시도해봤어요: 1. 데이터 테이블의 일부 필드 속성이 누락됨: ALTER TABLE 'cdb_posts' CHANGE 'pid' 'pid' INT(10) 부호 없음 null AUTO_INCREMENT 2, 수리 테이블 cdb_posts 모두 실패했습니다!
최종 우회 방법: 일반적으로 데이터 테이블 파일 손상으로 인해 발생하며, MySQL의 수리 도구인 myisamchk tool으로 복구할 수 있습니다. CMD 마이삼칙 cdb_posts.마이 -r 데이터시트만 고치면 끝입니다! |