MySQL 오류 코드 1292: 잘못된 날짜 값이 나타나는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-29 21:48:30
원래의
239명이 탐색했습니다.

Why am I getting MySQL Error Code 1292: Incorrect date value?

MySQL 오류 코드 1292: 분석 및 해결

ALBERGO 테이블에 데이터를 삽입하려고 하면 다음 오류 메시지가 나타납니다. "오류 코드: 1292. 잘못된 날짜 값: 행 1의 'data_apertura' 열에 대한 '01-05-2012'." 이 오류는 쿼리에 지정된 날짜 형식에 문제가 있음을 나타냅니다.

오류 코드 이해

오류 코드 1292는 특히 잘못된 날짜 값과 관련이 있습니다. MySQL 문서에는 버전 5.7 이상에서는 '0000-00-00 00:00:00'과 같은 잘못된 날짜 값이 허용되지 않는다고 명시되어 있습니다.

문제 해결 및 해결 방법

이 오류를 해결하려면 MySQL 5.7 요구 사항을 준수하도록 날짜 형식을 수정해야 합니다. 문제는 날짜 값 '01-05-2012'가 예상되는 yyyy-mm-dd 형식이 아닌 dd/mm/yyyy 형식에 있다는 것입니다.

이 문제를 해결하려면 my.cnf 파일을 찾으세요. 일반적으로 /etc/mysql/my.cnf에 있습니다. Windows 사용자의 경우 일반적으로 C:ProgramDataMySQLMySQL Server 8.0my.ini에 있습니다.

파일을 편집하고 [mysqld] 섹션으로 이동합니다. 이 섹션에 다음 줄을 추가하세요.

sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
로그인 후 복사

이 수정된 sql_mode를 사용하면 MySQL이 '01-05-2012'를 포함하여 이전에 유효하지 않았던 날짜 값을 허용할 수 있습니다.

변경 사항을 저장합니다. my.cnf 파일에 복사하고 운영 체제에 적합한 명령을 사용하여 MySQL 서비스를 다시 시작합니다(예: Linux의 경우 sudo service mysql restart).

업데이트된 쿼리

수정된 sql_mode를 사용하면 이제 수정된 날짜 형식으로 삽입 쿼리를 실행할 수 있습니다.

INSERT INTO `PROGETTO`.`ALBERGO`
(`ID`, `nome`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `posti_liberi`, `costo_intero`, `costo_ridotto`, `stelle`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`)
VALUES
(0, 'Hotel Centrale', 'Via Passo Rolle', '74', '2012-05-01', '2012-09-31', '06:30', '24:00', 80, 50, 25, 3, '43968083', '[email protected]', 'http://www.hcentrale.it/', 'Trento', 'TN');
로그인 후 복사

이 수정된 쿼리는 이제 오류 코드 1292 없이 성공적으로 실행됩니다.

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

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