이달 초에 DB 크기가 500MB에 달하는 워드프레스 사이트의 이전을 완료한 적이 있습니다. 그런데 이전을 완료한 사이트에서 글을 생성, 저장, 발행할 수 없는 문제가 발생한다고 하여 어제 살펴보았습니다.
특이하게 워드프레스 데이터베이스에서 Duplicate entry '0' for key 'PRIMARY' 오류가 발생하고 있었습니다.
혹시나 싶어 DB를 삭제하고 클라이언트로부터 받은 DB를 사용하여 다시 Import해보아도 동일한 오류가 발생했습니다.
결국 클라로부터 받은 DB에 문제가 있어 DB를 임포트했을 때 PRIMARY 키가 모두 제거되어 있었습니다.ㅠㅠ
이 경우 DB를 임포트한 직후에 일일이 PRIMARY 키를 설정해주면 문제가 해결됩니다. 이 오류가 발생하면 그림과 같이 "Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available."이라고 표시되면서 테이블 내의 컬럼 편집, 복사, 삭제 기능이 비활성화됩니다.
이 경우 phpMyAdmin에 해당 테이블을 선택하고 Structure 탭으로 이동한 후에 PRIMARY 키로 사용할 항목을 선택하고 Primary로 설정해주도록 합니다.
ID가 일련번호로 하나씩 증가하는 경우에는 auto_increment를 체크해주어야 PRIMARY로 지정이 가능합니다.
이와 같은 문제가 발생하는 경우, 먼저 온전한 데이터베이스를 요청하여 작업하는 것이 시간과 노력을 절감하는 방법 같습니다. 온전한 DB가 없다면 위에서 제시한 방법을 사용하여 수동으로 일일이 PRIMARY 키를 지정해주어야 합니다.
DB가 큰 경우에는 예상치 못한 오류가 발생할 수 있으므로 주의가 요구되는 경우가 많은 것 같습니다.
특히 DB가 매우 큰 경우에는 웹호스팅 업체에서 제공하는 백업본보다는 번거로워도 수동으로 DB를 Export하는 것이 안전할 수 있다는 것을 느끼게 되었습니다.