"Incorrect integer value: '' for column" 오류는 MySQL에서 STRICT 모드가 활성화되어 있고, 정수 필드에 대한 값으로 빈 문자열('') 또는 비정수 값을 제공하려고 할 때 발생합니다.
이 오류를 해결하기 위해 다음의 방법을 고려할 수 있습니다:
값 확인 및 수정
◼︎ 스크립트에서 해당 칼럼에 제공되는 값을 확인하십시오. 만약 비어 있거나 비정수 값이 제공되면, 올바른 정수 값이 제공되도록 스크립트를 수정하세요.
기본값 설정
해당 칼럼에 기본값을 설정하여 빈 값을 허용하도록 할 수 있습니다. 예를 들어, 칼럼의 기본값을 0으로 설정하면, 값이 제공되지 않을 경우 0이 사용됩니다.
NULL 허용
◼︎ 해당 칼럼을 NULL을 허용하도록 변경하고, 빈 값을 NULL로 처리할 수 있습니다.
STRICT 모드 비활성화
◼︎ 이것은 권장되는 방법은 아닙니다. 하지만, 어떤 경우에는 STRICT 모드를 비활성화하여 이 문제를 회피하기도 합니다.
◼︎ MySQL 설정 파일 (my.cnf 또는 my.ini)에서 다음과 같이 STRICT 모드를 제거하면 됩니다.
Mysql
sql_mode=NO_ENGINE_SUBSTITUTION
◼︎ 변경 사항을 적용한 후에는 MySQL 서버를 재시작해야 합니다.
권장 방법: 값의 유효성을 검사하고 올바른 데이터를 데이터베이스에 제공하는 것이 가장 좋은 방법입니다. STRICT 모드는 데이터의 정확성을 보장하는 데 도움을 주므로 가능한 한 활성화된 상태로 유지하는 것이 좋습니다.