728x90
- 어느날 잘되던 API를 체크해보았는데 빌드는 되었지만 런타임 500 오류가 발생하였다.
- 오류 메시지를 보니 Field '…' doesn't have a default value 라는 메시지를 찾을 수 있었다.
- 소스코드를 점검해보니 이상이 없었고, 검색해보니 열(컬럼)에 기본값이 따로 지정되지 않았는데 그 열의 값을 뚜렷하게 지정하지 않는 채로 INSERT나 UPDATE 등으로 자료를 넣으면 오류가 발생할 수 있다고 한다.
- 위 경우는 해당 테이블의 PK에 auto increment 속성이 해제되어 있었고 이를 추가하여 해결할 수 있었다.
-- auto increment
alter table aaa
modify bbb bigint auto_increment;
- PK에 자동증가 설정 추가 후, API 가 정상동작하였고 해당 테이블에 저장을 하였을 때, 무사히 오류가 발생하지 않았다.
[MySQL] Field '칼럼' doesn't have a default value 에러
해당 블로그를 확인해본 결과,해당 테이블에 INSERT, UPDATE중 해당 컬럼의 값이 들어가지 않기 때문에 발생한 에러블로그 저자는 컬럼 속성을 NOT NULL에서 NULL로 변경함으로써 문제 해결하지만 본인
velog.io
728x90
'Database' 카테고리의 다른 글
(MS-SQL) ORDER BY 1,2 의미 (0) | 2022.11.22 |
---|---|
(MS-SQL) convert 함수로 날짜관련 데이터 변환 방법 (0) | 2022.11.14 |
(MSSQL) SELECT INTO, INSERT SELECT를 이용한 특정 필드 복사 (2) | 2022.11.02 |
(MS-SQL 복합키) primary key가 2개일 때 (0) | 2022.11.02 |
(DB 구조) 마스터-슬레이브 구조 (0) | 2022.10.14 |