DBAtlas · 데이터베이스 운영 아틀라스

1048: Column 'x' cannot be null

MySQL

의미

NOT NULL로 정의된 컬럼에 NULL을 삽입하거나 해당 컬럼을 NULL로 설정하려 했다. 필수 필드는 비워 둘 수 없다.

원인

INSERT에서 필수 컬럼에 값을 지정하지 않음. UPDATE로 컬럼을 NULL로 설정. 컬럼에 DEFAULT 없음. 애플리케이션/서브쿼리에서 빈 값이 넘어옴. strict SQL 모드가 빈 값을 조용히 채우지 않음.

해결 방법

필수 컬럼에 유효한 값을 제공한다. 컬럼에 적절한 기본값을 정의한다: ALTER TABLE my_table MODIFY my_column INT NOT NULL DEFAULT 0; 규칙이 불필요하다면 NULL을 허용한다: ALTER TABLE my_table MODIFY my_column INT NULL; 빈 값은 전송 전에 애플리케이션에서 검증한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목