* 현재 설정 값 보기
SELECT @@GLOBAL.sql_mode; //전역 값
SELECT @@SESSION.sql_mode; //세션 값


* 값 설정
SET GLOBAL sql_mode = 'modes';
SET SESSION sql_mode = 'modes';

//------------------------
* 설정 파일 변경
/etc/mysql 폴더의 
my.cnf 나 mysql.cnf 파일을 수정
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


수정후 재시작
sudo service mysql restart



//----------------------
* sql_mode 값들

strict mode
- 입력값이 설정된 칼럼 제한을 넘으면 에러 발생
- NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES



non strict mode
- 칼럼 설정을 넘어도 자동으로 자르고 입력, 에러 발생 안함
IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


 

//-------------

참고

https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html 

 

 

반응형
Posted by codens