MySQL 오류 1067 문제 해결: 새 열을 추가하는 동안 'created_at'에 대한 잘못된 기본값
새 열을 추가하여 테이블 변경 시도 열에 "ERROR 1067 (42000): 오류가 발생할 수 있습니다. 'created_at'에 대한 기본값이 잘못되었습니다." 이 오류는 타임스탬프 열을 변경할 때 일반적으로 발생합니다. 그러나 타임스탬프가 아닌 열을 추가할 때도 이 문제가 발생할 수 있습니다.
원인:
이 오류는 MySQL의 sql_modes 설정으로 인해 발생합니다. 특히 "NO_ZERO_IN_DATE" 및 "NO_ZERO_DATE" 모드는 기본 타임스탬프 값 '0000-00-00' 및 '00:00:00'이 Created_at 및 update_at 열에 저장되는 것을 방지합니다.
해결책 :
오류를 해결하려면 sql_modes 설정의 "NO_ZERO_IN_DATE" 및 "NO_ZERO_DATE" 모드.
단계:
현재 확인 sql_modes:
show variables like 'sql_mode' ;
위반 모드 제거:
현재 모드를 일시적으로 비활성화합니다. 세션:
SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
전역 모드를 영구적으로 설정:
SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
재시도 추가 열:
ALTER TABLE investments ADD bank TEXT;
참고:
최신 버전의 MySQL에서 기본 sql_mode에는 "NO_ZERO_IN_DATE" 및 "NO_ZERO_DATE가 포함됩니다. " 모드. 따라서 이 오류가 발생할 경우 정기적으로 sql_modes 설정을 확인하고 필요한 조정을 수행하는 것이 중요합니다.
위 내용은 MySQL ERROR 1067: 'created_at'에 대한 잘못된 기본값이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!