IT이야기
[MariaDB] PHP Uncaught mysqli_sql_exception: Field 에러
영은파더♥
2024. 6. 28. 17:37
728x90
예전에 잘 돌아가던 소스랑 Database 를 새로운 버전에 이전해서 테스트 해보고 있는데 하나씩 에러가 발생하네요~
Fatal error: Uncaught mysqli_sql_exception: Field 'column_name' doesn't have a default value in /home/example/public_html/test.php
위 에러는 테이블의 특정 필드의 값을 기본값을 설정해주어야 한다는 내용인데 한두군데면 테이블이던 소스던 수정할테지만 수많은 곳에 있기 때문에 모두 찾아서 수정해 주긴 힘들거라고 보여집니다.
이런 경우엔
SET GLOBAL sql_mode=''; 또는
/etc/my.cnf.d/my.cnf
[mysqld]
set-mode=''
systemctl restart mariadb
이렇게 해줄수도 있으며
MariaDB [(none)]> show variables like 'sql_mode';
+---------------+-------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-------------------------------------------------------------------------------------------+
| sql_mode | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+-------------------------------------------------------------------------------------------+
SET GLOBAL sql_mode='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
첫번째 문제 "STRICT_TRANS_TABLES" 부분만 빼고 설정해줍니다.
리스타트 되더라도 적용되게 하려면
/etc/my.cnf.d/my.cnf
[mysqld]
sql-mode=' ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
systemctl restart mariadb
728x90
반응형