> 데이터 베이스 > MySQL 튜토리얼 > MySQL 오류 1292: DOUBLE 필드가 없어도 잘린 잘못된 DOUBLE 값이 나타나는 이유는 무엇입니까?

MySQL 오류 1292: DOUBLE 필드가 없어도 잘린 잘못된 DOUBLE 값이 나타나는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-02 07:06:17
원래의
678명이 탐색했습니다.

Why Am I Getting MySQL Error 1292: Truncated Incorrect DOUBLE Value Even Without DOUBLE Fields?

오류 1292: MySQL에서 잘린 DOUBLE 값 조사

문제 설명:

다음 오류:

#1292 - Truncated incorrect DOUBLE value:
로그인 후 복사

DOUBLE 데이터 유형이 원인이라고 가정하기 쉽습니다. 하지만 이 오류는 DOUBLE 값과 관련된 필드나 데이터가 없는 경우에도 발생할 수 있습니다.

자세한 설명:

이 오류는 일반적으로 MySQL이 두 값을 비교하려고 할 때 발생합니다. 숫자가 아닌 값이 있는 숫자 값으로 인해 데이터 변환 중 잘림이 발생합니다. 제공된 쿼리에서 오류의 잠재적 원인은 WHERE 절의 비교입니다.

ON ac.company_code = ta.company_code
로그인 후 복사

ac.company_code와 ta.company_code의 데이터 유형이 다른 경우(예: 하나는 정수이고 다른 값은 문자열임), MySQL은 값 중 하나를 다른 값과 일치하도록 변환하려고 시도하여 잘림이 발생할 수 있습니다. error.

문제 해결:

문제를 해결하려면 ac.company_code와 ta.company_code의 데이터 유형이 호환되는지 확인하세요. 그렇지 않은 경우 명시적 CAST를 사용하여 값 중 하나를 다른 값과 일치하도록 변환하거나 MySQL 구성에서 sql_mode = 'ALLOW_INVALID_DATES'를 설정하여 엄격 모드를 비활성화하는 것을 고려하세요.

예:

ON CAST(ac.company_code AS UNSIGNED) = CAST(ta.company_code AS UNSIGNED)
로그인 후 복사

엄격 모드를 비활성화하면 MySQL이 호환되지 않는 값을 자동으로 캐스팅하여 경고를 다음과 같이 처리합니다. 오류가 아닌 정보 메시지입니다.

개발자는 잘림 오류의 근본 원인을 이해함으로써 이 문제를 효과적으로 진단하고 해결하여 쿼리를 원활하게 실행할 수 있습니다.

위 내용은 MySQL 오류 1292: DOUBLE 필드가 없어도 잘린 잘못된 DOUBLE 값이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿