이전 목록 다음
채택완료

mysql 0000-00-00 00:00:00 관련 궁금한 사항 질문드립니다.

mysql 5.7 서버 사용 중입니다.

 

그누보드5 소스 보면 날짜시간 기본값에 아래처럼 날짜시간이나 날짜 기본값으로 0 .... 으로 들어간 값을 사용하는데도 설치가 잘 됩니다.

 

`mb_datetime` datetime NOT NULL default '0000-00-00 00:00:00'

...

`mb_open_date` date NOT NULL default '0000-00-00',

 

그런데, 

그누보드 설치 후 특정 테이블을 생성 위해 위 코드를 복사해 컬럼명만 다른 코드를 사용해 테이블 생성하려면 지원 안 되는 기본값 타입이라며 에러 나더라구요. 아래 명령어를 실행 후 다시 생성명령어 입력하면 정상적으로 테이블이 생성됩니다.

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'NO_ZERO_IN_DATE',''));
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'NO_ZERO_DATE',''));

 

왜 그누보드5 설치 시엔 잘 되었던 걸까요?

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

답변에 대한 댓글 1개

배르만 님 감사합니다. 덕분에 궁금증이 싹 풀렸어요.

mysql, 마리아 DB 만 저런 이상한 날짜 허용되는데 mysql 8.0 에서 고쳤죠.

 

원래는 없는 날짜는 null 로 하면 편한데 호환성때문에 못고치나봐요

 

mysql, 마리아 DB 도 구버전때문에 이상한 날짜 호환되는 모드 있고요.

답변에 대한 댓글 1개

관심 갖고 답변주셔서 감사합니다.

답변을 작성하려면 로그인이 필요합니다.