error 1062 (23000) at line XX duplicate entry for key ’primary’ 에 대한 고찰
데이터 마이그레이션 작업을 하면서 자꾸만 오류가 발생..
ERROR 1062 (23000) at line 23: Duplicate entry '4' for key 'PRIMARY'
운영중인 데이터베이스의 레코드와
해당 레코드를 DUMP한 내용을 아무리 살펴봐도 잘못된점을 찾을 수 없는 상황이었는데….
알고보니.. 동일한 테이블명이 존재하고 있었던것!!!!! ??????
이런식으로..
-rw-rw---- 1 mysql mysql 462 Nov 23 17:57 abc.frm -rw-rw---- 1 mysql mysql 462 Nov 23 17:57 Abc.frm -rw-rw---- 1 mysql mysql 8192 Nov 23 17:57 abc.MAD -rw-rw---- 1 mysql mysql 8192 Nov 23 17:57 Abc.MAD -rw-rw---- 1 mysql mysql 8192 Nov 23 17:57 abc.MAI -rw-rw---- 1 mysql mysql 8192 Nov 23 17:57 Abc.MAI
물론 여기에 기재한것은 내가 테스트를 해본것이고.. 실제 이름은 다른거;;; ㅋ
만들어 보니까 정말로 저렇게 되더라고..
mysql (test)>create table abc (kk int(3), kk2 text); Query OK, 0 rows affected (0.01 sec) mysql (test)>create table Abc (kk int(3), kk2 text); Query OK, 0 rows affected (0.01 sec) mysql (test)>show tables; +----------------+ | Tables_in_test | +----------------+ | Abc | | abc | +----------------+ 2 rows in set (0.00 sec)
이렇게는 사용하지 않는 것이 좋겠다… ;;;;
이 문제는
https://jirak.net/wp/mariadb-10-0-mysqldump-bug/
에 의한 내용으로..
덤프된 데이터의 오류(??)에 의해 원래는 다른 테이블이었지만.. 생성시 이름이 같은…
내용에 의해 데이터 입력 중복 오류가 발생하는 어처구니 없는 상황이 발생한것.