디비업로딩하려는데 ERROR 1071 (42000) 정보
디비업로딩하려는데 ERROR 1071 (42000)
본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
이걸 계속 배터냅니다.
utf8서버인데 현제 디비 Collation값이 euckr로 되어 있어서
덤프해서 수저후 다시 업로딩하려는데 계속저러네요 방법이 있나요?
오류 주소 :
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
이걸 계속 배터냅니다.
utf8서버인데 현제 디비 Collation값이 euckr로 되어 있어서
덤프해서 수저후 다시 업로딩하려는데 계속저러네요 방법이 있나요?
댓글 전체
자답이네요..서버마다 특성이 약간씩 다르다고 하네요..
캉페의 경우입니다..
key값 길이가 1000으로 고정되어 있어서 문제가 발생햇네요..
euc에서 utf로 갈아 탈때 수정사항입니다..
기본적으로 변환방법은 비슷합니다.
1.서버의 파이을 전부 utf-8로 수정
2.디비를 utf-8로 수정
디비에서의 문제점
g4_point 테이블에서 po_rel_action varchar(255)로 하면 바이트 수때문에 적용되지 않는 특정 서버들이 있습니다.
이를 190으로 조정해 주세요..
수정순서해 줘야 할 곳
CHARSET=utf8
varchar(10) collate utf8_general_ci NOT
varchar(15) collate utf8_general_ci NOT
varchar(20) collate utf8_general_ci NOT
varchar(50) collate utf8_general_ci NOT
varchar(100) collate utf8_general_ci NOT
varchar(255) collate utf8_general_ci NOT
text collate utf8_general_ci NOT
po_rel_action varchar(190) <<--- 특정버서마다 다릅니다.(카페24의 경우)
이상으로 안전하게 서버이전을 완료하였습니다.
이제 utf-8만의 잔제수정들이 남아 있네요..
캉페의 경우입니다..
key값 길이가 1000으로 고정되어 있어서 문제가 발생햇네요..
euc에서 utf로 갈아 탈때 수정사항입니다..
기본적으로 변환방법은 비슷합니다.
1.서버의 파이을 전부 utf-8로 수정
2.디비를 utf-8로 수정
디비에서의 문제점
g4_point 테이블에서 po_rel_action varchar(255)로 하면 바이트 수때문에 적용되지 않는 특정 서버들이 있습니다.
이를 190으로 조정해 주세요..
수정순서해 줘야 할 곳
CHARSET=utf8
varchar(10) collate utf8_general_ci NOT
varchar(15) collate utf8_general_ci NOT
varchar(20) collate utf8_general_ci NOT
varchar(50) collate utf8_general_ci NOT
varchar(100) collate utf8_general_ci NOT
varchar(255) collate utf8_general_ci NOT
text collate utf8_general_ci NOT
po_rel_action varchar(190) <<--- 특정버서마다 다릅니다.(카페24의 경우)
이상으로 안전하게 서버이전을 완료하였습니다.
이제 utf-8만의 잔제수정들이 남아 있네요..
varchar(255)가 euc-kr인 경우 510byte, utf8인 경우 765byte
그래서 인덱스 최대 값을 초과하는 경우가 생기는군요.
max key length를 더 크게 해 주는 것도 방법인데 서버 용량이 더 커져야겠죠.
그래서 인덱스 최대 값을 초과하는 경우가 생기는군요.
max key length를 더 크게 해 주는 것도 방법인데 서버 용량이 더 커져야겠죠.