max key length is 1000 bytes 이게 뭐죠...?

· 12년 전 · 5424 · 1
포인트 내역 mb_id에 이메일이 저장되는데...
20자가 넘어가면 짤리더라구요 그래서 늘리려고 했는데

Specified key was too long; max key length is 1000 bytes

이렇게 뜨면서 수정이 안되네요
찾아보니까 mysql버전때문이라는분도 있고 소스를 수정하면 된다는데...
어떻게 수정해야하는지 아시는분 계신가요...?
|

댓글 1개

출처> http://blog.dinux.kr/?p=265

latin-1 에서는 1글자가 1바이트이지만 utf-8 에서는 한글자가 3바이트이기 때문에 크기 계산에 주의해야 한다.

latin1 = 1 byte = 1 chararcter
uft8 = 3 byte = 1 chararcter

즉, varchar(255)에서 255는 255 “바이트”가 아니라 “글자”이기 때문이다. utf-8일 경우 한글은 한 글자당 3바이트이므로 255 * 3 * 2 > 1000 이다.
===============================================================================================
DB 테이블을 살펴보니 g4_member 테이블에 mb_id varchar(255)로 되어 있는데 varchar(100) 으로 변경해 보세요..

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고