2020년 이전/DataBase

[MySQL] 테이블 생성시 Invalid default value for 오류 해결

개미핧끼 2018. 11. 16. 12:34

문제 인지 시점

『팀 프로젝트 진행 중 동료와 만든 db를 내 맥북에 mysql community를 설치 후,테이블 생성 중

default 값을 한글로 주었더니 Invalid default value for 이라는 오류 메세지가 떴다.


"user_grade varchar(30) default '일반',"


오류 원인의 필드명과 필드 타입이다.
왜 안되지? 하던 중,얼마 전 국비지원 학원에서 수업 중 MySQL 설치했던 것이 생각났다.
MySQL에서 한글이 깨질 수 있기 때문에 인코딩을 해 주어야 한다는 것을!
과거 기억+ 구글링을 통하여 위 문제를 해결했다,

테이블 생성 후 출력하면, 한글이 깨져 '???' '%$%#' 이런 이상한 글자로 되는 경우가 있는 것 같지만,
나의 경우에는 아예 테이블 생성이 안됬다.

해결과정
1. C:\ProgramData\MySQL\MySQL Server 5.7
위 경로로 들어가서 my.ini파일을 연다.

2.### 사이에 있는 코드를 맨 밑에 추가해준다.
################################################# 
[client] 
default-character-set=utf8 

[mysqld] 
collation-server = utf8_unicode_ci 
character-set-server = utf8 
skip-character-set-client-handshake 

[mysql] 
default-character-set=utf8 

[mysqldump] 
default-character-set=utf8 

#################################################
4.테이블 생성시 DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;를 추가해준다.
CREATE TABLE table_name (
필드명1 필드타입1
필드명2 필드타입2
...

)DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;

이렇게 하니까 생성이 되었다!
짝짝짝

'2020년 이전 > DataBase' 카테고리의 다른 글

Mysql 한글 물음표 해결  (0) 2019.01.11