1366 : Incorrect integer value: '' for column 'gr_use_access' at row 1
error file :adm/boardgroup_form_update.php
위의 예시처럼 1366 오류는 필드에 들어가 data type이 맞지 않을 때 생기는 오류다. 정수형 타입에 null이나 문자형이 입력 될 때 주로 발생한다.
해결을 위해서 root 권한을 이용해 mysql에 로그인 한다.
STRICT_TRANS_TABLES 옵션 제거
아래 명령을 이용하면
mysql> select @@global.sql_mode;
+----------------------------------------------------------------------------------------------------------------+
| @@global.sql_mode |
+----------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
sql_mode 옵션을 확인 할 수 있다.
옵션 중에 굵은 STRICT_TRANS_TABLES를 제거해 주면 된다.
mysql> set @@global.sql_mode = 'ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected, 1 warning (0.00 sec)
=> 영구 변경 안됨
my.cnf 또는 my.ini 설정 파일에서 수정
sql_mode 또는 sql-mode
sql_mode="ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
위의 부분이 주석처리 되어 있으면 #를 제거하고 옵션을 바꿔준다.
그리고 mysqld 데몬을 다시 실행한다.
#service mysqld restart
[출처] Incorrect integer value: '' for column '컬럼 이름' at row 1 오류 났을 때|작성자 쌈닭
'[ 서버 & DB 관련 ] > MySQL' 카테고리의 다른 글
mysql date컬럼에 현재 날짜시간 기본값으로 설정 (0) | 2021.09.15 |
---|---|
mysql 테이블 생성시 오류 (0) | 2021.06.04 |
mysql 문자열을 소수점 실수형으로 변환 (0) | 2021.04.28 |
mysql 패스워드 변경 (0) | 2021.01.25 |
mysql 날짜, 시간 반환 함수 (0) | 2020.07.15 |