분류 sql

MYSQL 5.7 이상에서 필드 타입이 date 또는 datetime일 때 , Invalid default value for …

컨텐츠 정보

  • 조회 494 (작성일 )

본문

MySQL 버전에 따라 엄격해지거나 변경되는 것이 있습니다.


기존 날짜나 시간 기본값으로 '0000-00-00' 또는 '0000-00-00 00:00:00' 으로 주었을 때 필드를 변경하거나 추가하려고 하면 오류가 발생할 수 있습니다.


my.cnf 파일에서 기본값을 아예 수정하거나

[mysqld] 

sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ALLOW_INVALID_DATES"


alter table을 이용하여 수정하려 할 때,


SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 

SET time_zone = "+00:00"; 

ALTER TABLE `table name` ADD `추가필드` text NULL DEFAULT '' AFTER `기존필드`;


식으로 반영하면 됩니다.