문제:
사용자가 다음을 통해 날짜 열이 있는 테이블에 값을 삽입하려고 하면 오류가 발생합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!