1. ERROR [ExceptionsHandler] ER_NO_DEFAULT_FOR_FIELD: Field 'nick_name' doesn't have a default value
열에 기본값(default value)를 지정하지 않았는데 그 열의 값이 지정되지 않은 insert, update 등으로 자료를 넣으면 만날 수 있는 오류이다. 두가지 방법으로 해결할 수 있다.
1) 기본값을 미리 설정해둔다.
열에 기본값을 설정해두면 자료값을 넣지 않았을 때 기본값으로 저절로 채워진다.
2) 데이터를 빠짐없이 넣는다.
컬럼과 그 값을 빠뜨리지 않고 넣으면 오류를 피할 수 있다. 하지만 나는 updateData를 할 때 이 오류를 만났기에 선택적으로 넣을 수 밖에 없어 기본값을 설정하는 방법을 사용했다.
2. must be string
@IsString
seat_num?: number
?을 붙여줬는데 IsString() 때문에 계속 유효성검사를 실행하면 에러인 must be string을 반환했다. @IsOptional 데코레이션을 붙여줘서 유효성검사를 건너뛸 수 있었다. Nest.js로 프로젝트를 처음 진행하다보니 아직 익숙치 않은 점도 많았지만 기초를 잘 쌓아두면 express보다 더 편하게 만들 수 있겠다는 생각이 들었다.
출처
[MySQL] Field '칼럼' doesn't have a default value 에러
해당 블로그를 확인해본 결과,해당 테이블에 INSERT, UPDATE중 해당 컬럼의 값이 들어가지 않기 때문에 발생한 에러블로그 저자는 컬럼 속성을 NOT NULL에서 NULL로 변경함으로써 문제 해결하지만 본인
velog.io
'개발일지' 카테고리의 다른 글
[error 해결] Cannot read properties of undefined (reading 'object') (1) | 2024.04.03 |
---|---|
[React] 리액트 설치 오류 error: A template was not provided. This is likely because you're using an outdated version of create-react-app. (0) | 2024.03.30 |
[KPT 회고] To-DUBU 칸반보드 프로젝트 (0) | 2024.03.25 |
S3 originalName 에러 (0) | 2024.03.25 |
[error] query 에러 (0) | 2024.03.21 |