🕰️
2023.08.31 07:58
SQLSTATE[HY000] '***' doesn't have a default value 에러 고치기
조회 수 547 추천 수 0 댓글 0
[MySQL] SQLSTATE[HY000] General error: 1364 field '***' doesn't have a default value 에러
이번 에러는 서버 이전때문에 MySQL 버전업을 하고 테스트중 발생한 에러이다.
처음에는 서버 설정이 다르거나 MySQL 버전이 다름으로서 발생한 에러인줄알고 좀 해맸지만.
찾아보니 원인은 굉장히 간단했다.
해당 테이블에 INSERT, UPDATE중 해당 컬럼의 값이 들어가지 않기 때문에 발생한 에러로서.
해결방법은 컬럼 속성을 NOT NULL에서 NULL로 변경함으로서 해결 할 수 있었다.
SQL> |
ALTER TABLE [테이블 명] MODIFY [컬럼 명] [변경할 컬럼타입]; |
|
ALTER TABLE table_name MODIFY column_name NULL; |
phpmyadmin에서는 더 간단하게 할수 있다
테이블-컬럼을 찾아서 들어간 후 "없음"이라고 나오는 부분을 null로 바꾸면됩니다
이렇게 변경해둠으로서 해당 컬럼을 업데이트 및 수정하는 경우 발생하는 문제를 해결 할 수 있었다.