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 가 정상동작하였고 해당 테이블에 저장을 하였을 때, 무사히 오류가 발생하지 않았다.
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 |