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

1292: Incorrect datetime value / truncated incorrect value

MySQL

의미

대상 컬럼 타입(특히 날짜/시간 또는 숫자)으로 변환할 때 값이 유효하지 않거나 형식이 잘못되었다. strict 모드에서 MySQL은 이를 오류로 거부한다.

원인

'0000-00-00' 같은 유효하지 않은 날짜나 값. 잘못된 날짜 형식. 숫자 컬럼의 비숫자 텍스트. strict SQL 모드(STRICT_TRANS_TABLES) 활성화. 다른 character set/collation으로 인한 변환 문제.

해결 방법

값을 컬럼 타입에 맞는 유효한 형식으로 맞춘다(날짜는 'YYYY-MM-DD'). 비어 있거나 유효하지 않은 날짜 대신 NULL을 사용한다. 필요하면 STR_TO_DATE로 명시적 형식을 지정한다: STR_TO_DATE(str, '%Y-%m-%d'). 일시적인 허용이 필요하다면 sql_mode를 검토하되, 가급적 데이터를 수정한다. 범위를 좁혀 문제 행을 찾는다.

DBAtlas에서 열기 →

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