테스트 사이트 - 개발 중인 베타 버전입니다

mysql 테이블 컬럼 사이즈 변경 오류 채택완료

귿귿 3년 전 조회 1,782

안녕하세요.

아이디를 이메일로 사용하려고  mb_id가 들어있는 테이블의 mb_id 사이즈를 20->255로 변경하려고 하는데 

이런 오류가 뜹니다. 

 

https://www.popit.kr/mysql-index-column-size-too-large-error/

다른 글 보니 여기 처럼 하라고 해서 했는데

 

저도 이렇게 뜹니다ㅠㅠ

Unknown system variable 'innodb_large_prefix'

 

g5_member 테이블은 정상적으로 변경이 되었으나 다른 테이블은 오류가 뜨는데 왜그럴까요??

 

 

 

 

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

답변 3개

채택된 답변
+20 포인트
3년 전

회원테이블 인가요?

mb_1 ~ mb_10 중에서 사용하지않는 여분필드 몇개를 varchar(10) 정도로 줄이세요

로그인 후 평가할 수 있습니다

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

mb_id가 왜 varchar(255)로 하려는지 모르겠네요.

g5_member 별로 index를 추가 하지 않았다면 이런 모습일 겁니다.

show index from g5_member;
+-----------+------------+----------------+--------------+-
| Table     | Non_unique | Key_name       | Seq_in_index | Column_name    | 
+-----------+------------+----------------+--------------+-------
| g5_member |          0 | PRIMARY        |            1 | mb_no          |
| g5_member |          0 | mb_id          |            1 | mb_id          |
| g5_member |          1 | mb_today_login |            1 | mb_today_login |
| g5_member |          1 | mb_datetime    |            1 | mb_datetime    | 
+-----------+------------+----------------+--------------+-

character set이 utfmb4라면

varchar(250) 미만으로 잡아야 합니다.

타당한 이유가 없다면 그대로 사용하시는 것을 추천합니다.

로그인 후 평가할 수 있습니다

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

플라이
3년 전

키값이 잡혀있다보니 오류가 나는건데요
키값의 범위보다 크기때문에 오류가 발생되는거라 index 키값에서 제거후 적용해 주셔야 합니다.

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인