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; 빈 값은 전송 전에 애플리케이션에서 검증한다.