개발 Q&A

제목 mysql 5.7.17로 변경했는데..
카테고리 DB
글쓴이 뫄뫄잉뿌 작성시각 2017/09/21 10:13:32
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 10510   RSS

서버를 새로 구매하면서 mysql 5.7.17로 설치하였습니다.

근데 컬럼이 default 0, tinyint 타입에 업데이트 시 컬럼 = '' 해도 0으로 잘 들어갔던 게 

Incorrect integer value: 컬럼

이런식으로 에러가 납니다.

저렇게 코딩된 곳이 많은데.. 혹시 설정변경해서 컬럼 = '' 이런식으로 넣어도 디폴트 값이 들어가게 변경해 줄 수 없나요?

 다음글 파일 경로가 맞는데 호출이 안됩니다. (1)
 이전글 서버 모니터링 툴 어떤거 쓰시나요? (3)

댓글

뫄뫄잉뿌 / 2017/09/21 10:53:19 / 추천 0

-----------------------------------------------------------------

자체 해결하였습니다.

SELECT @@GLOBAL.sql_mode;

SET GLOBAL sql_mode = '';

빛그림 / 2017/09/21 12:42:23 / 추천 0

my.cnf 에 넣어주시면 mysql 재시작 될때 마다 설정 안해줘도 바로 적용됩니다. 

이미 알고 하셨겠지만... 

뫄뫄잉뿌 / 2017/09/21 13:36:08 / 추천 0

@빛그림님

my.cnf에 sql_mode 설정을 아무것도 안해주었는데... 

sql_mode ='' 빈 것 인데도 따로 설정을 해줘야하는건가요..?

빛그림 / 2017/09/21 13:58:13 / 추천 0

네... my.cnf에서 설정 해야만 MySQL이 재시작 되더라도 매번 설정 안해도 되니까요. 

저의 경우는 my.cnf안에 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 라고 써두었구요.

뫄뫄잉뿌 / 2017/09/21 14:09:27 / 추천 0

@빛그림님

아항... 그럼게하면 set global sql_mode = ''이거를 따로 안해도 되는거지요??

감사합니다!!

빛그림 / 2017/09/21 14:11:23 / 추천 0

네... 매번 MySQL을 가동할때마다 해주는 불편한 수고를 덜수 있습니다. 

그외 기타 로그 화일에 대한 설정이나 언어코드에 대한 설정도 함께 해두시면 좋고요.

뫄뫄잉뿌 / 2017/09/21 15:31:36 / 추천 0

@빛그림님

감사합니다!! 언어코드랑 로그파일도 설정해두었어요~