잘못된 날짜 시간 값 오류를 방지하려면 STR_TO_DATE() 메서드를 사용할 수 있습니다.
우리가 알고 있듯이 날짜 시간 형식은 YYYY-MM-DD이며 동일한 형식으로 삽입하지 않으면 오류가 발생합니다.
실제로 이 오류가 발생하는 원인을 살펴보겠습니다. 이를 위해 새 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다.
mysql> create table CorrectDatetimeDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > ArrivalTime datetime - > ); Query OK, 0 rows affected (0.63 sec)
날짜/시간이 잘못된 날짜를 포함하려고 하면 발생합니다. format
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45'); ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
위 오류를 방지하려면 STR_TO_DATE()를 사용하면 됩니다.
구문은 다음과 같습니다
INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
이제 위 구문과 같이 올바른 형식으로 날짜/시간을 다시 삽입해 보겠습니다.
쿼리는 다음과 같습니다
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s')); Query OK, 1 row affected (0.21 sec) mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s')); Query OK, 1 row affected (0.16 sec) mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s')); Query OK, 1 row affected (0.20 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다.
쿼리 내용은 다음과 같습니다
mysql> select *from CorrectDatetimeDemo;
출력 결과는 다음과 같습니다
+----+---------------------+ | Id | ArrivalTime | +----+---------------------+ | 1 | 2019-02-18 11:15:45 | | 2 | 2017-01-15 10:10:15 | | 3 | 2016-04-12 15:30:35 | +----+---------------------+ 3 rows in set (0.00 sec)
위 내용은 MySQL 테이블에 삽입할 때 잘못된 날짜/시간 값을 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!