> 데이터 베이스 > MySQL 튜토리얼 > MySQLnd 업그레이드 후 '잘못된 날짜 값: '0000-00-00''으로 인해 MySQL INSERT 쿼리가 실패하는 이유는 무엇입니까?

MySQLnd 업그레이드 후 '잘못된 날짜 값: '0000-00-00''으로 인해 MySQL INSERT 쿼리가 실패하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-22 06:43:14
원래의
544명이 탐색했습니다.

Why Does My MySQL INSERT Query Fail with

MySQL 오류: INSERT 쿼리의 "잘못된 날짜 값: '0000-00-00'"

문제:

사용자가 다음을 통해 날짜 열이 있는 테이블에 값을 삽입하려고 하면 오류가 발생합니다. phpMyAdmin, 웹사이트를 통한 성공적인 삽입에도 불구하고. 오류 메시지: "잘못된 날짜 값: '0000-00-00'"이 표시됩니다.

분석:

오류의 근본 원인은 변경 사항과 관련이 있습니다. MySQLnd 5.0.12에서 5.7.11로 업그레이드한 후 MySQL의 SQL 모드에서. MySQL 5.7에서는 더 엄격한 데이터 유효성 검사 규칙을 적용하는 엄격 모드가 기본적으로 활성화됩니다. 날짜 열의 기본값 '0000-00-00'이 이러한 규칙을 위반하여 오류가 발생합니다.

해결책:

문제를 해결하고 유효한 날짜 값으로 '0000-00-00'을 삽입하려면 엄격 모드를 비활성화해야 합니다. 이는 다음 쿼리를 실행하여 달성할 수 있습니다.

SET GLOBAL sql_mode = '';
로그인 후 복사

추가 정보:

엄격 모드를 활성화하면 데이터 유형 및 값에 대한 특정 규칙을 적용하여 데이터 무결성이 보장됩니다. 그러나 이러한 규칙을 엄격하게 준수하지 않는 데이터를 삽입하려고 하면 오류가 발생할 수도 있습니다. 엄격 모드를 비활성화하면 사용자는 이러한 검사를 우회하고 특정 상황에서 유효할 수 있는 '0000-00-00'과 같은 데이터 삽입을 허용할 수 있습니다.

데이터 무결성이 중요한 경우에는 애플리케이션에서는 엄격 모드 비활성화가 미치는 영향을 주의 깊게 평가해야 합니다. 잘못된 데이터가 데이터베이스에 저장되지 않도록 사용자 정의 유효성 검사 및 오류 처리 메커니즘을 구현하는 것이 좋습니다.

위 내용은 MySQLnd 업그레이드 후 '잘못된 날짜 값: '0000-00-00''으로 인해 MySQL INSERT 쿼리가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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