NO_ZERO_IN_DATE 모드를 비활성화하여 MySQL 테이블에 연도 값만 있는 날짜를 저장할 수 있고 0개월과 0일을 가질 수 있습니다. 이 모드가 활성화되면 MySQL은 그러한 종류의 날짜를 유효하지 않은 날짜로 계산하고 모두 0을 저장합니다.
mysql> Insert into year_testing (OrderDate) values('2017:00:00'); Query OK, 1 row affected (0.09 sec) mysql> select * from year_testing; +------------+ | OrderDate | +------------+ | 2017-00-00 | +------------+ 1 row in set (0.00 sec) mysql> SET sql_mode = 'NO_ZERO_IN_DATE'; Query OK, 0 rows affected (0.00 sec) mysql> Insert into year_testing(OrderDate) values('2017:00:00'); Query OK, 1 row affected, 1 warning (0.04 sec) mysql> Select * year_testing; +------------+ | OrderDate | +------------+ | 2017-00-00 | | 0000-00-00 | +------------+ 1 rows in set (0.00 sec)