테스트 사이트 - 개발 중인 베타 버전입니다

mysql 5.7 에서 그누보드5 사용시 날짜형식에 기본값에 대해 질문드려요 채택완료

모조키 9년 전 조회 8,852

 

 

PHP7

MYSQL 5.7

아파치 2.4  

조합으로 서버가 세팅되어 있습니다.

설치된 지난주에 올라온 그누보드는 5.2 최신버전이구요.. 

 

아파치 5.4쓸때는 없었던 에러메세지인데

5.7 로 바뀌고 나서는 에러메세지가 생깁니다.

 

회원정보 테이블 g5_member  에서  sql로  alter 로 칼럼 추가하려고 하면  

 

http://localhost/phpmyadmin/themes/dot.gif" title="" alt="" class="icon ic_s_error"> 질의 오류:
#1067 - Invalid default value for 'mb_today_login'


같은 에러메세지가 뜹니다.  

날짜형식이 0000-00-00 같이 지정되어 있는 칼럼의 경우에  

위의 메세지가 뜨는거 같은데... 

뭐가 문제인지 모르겠네요..

이런 경우 어떻게 처리하면 좋을지 몰라서  

질문 글 올립니다.

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

답변 4개

채택된 답변
+20 포인트
9년 전
5.7.13에서 똑같이 g5_member 에 alter table add로 컬럼추가해봤는데 잘 되네요.
insert로 더미데이터 넣어봤는데 mb_today_login에 디폴트인 0000-00-00 00:00:00 잘 들어가 있구요.
테스트는 윈도 데스크탑에서 하긴 했습니다만 아주 다르진 않을듯 한데..
alter table로 컬럼추가 하는데 mb_today_login의 디폴트값이 문제가 된다는게 좀 이상하네요.
아직 5.7 서버에서 테스트가 가능하다면 혹시 모르니 처리하려는 sql을 출력해보세요. 왠지 mb_today_login를 변경하려는게 있었을수도 있겠네요.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

먼지손
9년 전
좀 더 검색해보니 set_mode 차이였을수가 있겠네요. 로컬에 설치했던걸 그새 지워서 확인은 못했습니다;
http://stackoverflow.com/questions/23312144/error-error-1067-invalid-default-value-for-on-update-current-timestamp#answer-23336044
http://dev.mysql.com/doc/refman/5.5/en/sql-mode.html#sqlmode_allow_invalid_dates
모조키
9년 전
신경써주셔서 감사합니다.

저도 이번에 하는거 마쳐놓고 좀 파볼 생각입니다

당장 발에 불부터 꺼야해서 ㅎㅎ;;
먼지손
9년 전
일단 로컬에 다시 셋팅해서 설치까지 진행해봤습니다. (wamp3.0.4: apache2.4, php5.6, mysql5.7)
순정그누보드가 아니라 제 커스텀버전 체크할겸 했던거라 순정과 얼마나 차이가 있을진 모르겠습니다만 설치도 잘 되고 phpmyadmin으로 mb_today_login 변경도 해봤습니다만 별 문제는 없었던걸로 보아 역시나 mysql5.7 버전차이보다는 환경쪽의 차이인 모양입니다.
메뉴얼에서는 mysql 5.5에서도 datetime 값에 범위제한이 있는걸 확인했습니다.
ALLOW_INVALID_DATES 문제인줄 알았는데 제 환경을 보니 NO_ZERO_IN_DATE,NO_ZERO_DATE 차이일 수도 있겠습니다.
http://dev.mysql.com/doc/refman/5.5/en/sql-mode.html#sqlmode_no_zero_date

아래는 제 sql mode 셋팅값입니다.
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
모조키
9년 전
저도 해보고 해결법 찾으면 글 올리도록하겠습니다ㅏ.

감사합니다.

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

R
7년 전

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

묵언수행
6년 전
덕분에 해결됐습니다!! 감사합니다~

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

8년 전

해결 방법 알려드립니다.

SQL_MODE에서 "NO_ZERO_IN_DATE,NO_ZERO_DATE" 값을 제거하시면 됩니다.

 

(5.7부터는 default로 들어가있어요)

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

모조키
8년 전
왓.. 뒤늦게 확인했습니다.

도움 주셔서 감사합니다. 복받으실거예요.

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

W
9년 전
넣을때 sql 형식값을 확인 하시거나. 아니면 mysql5.7 에 맞게끔 변경하셔야 할겁니다
로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

모조키
9년 전
phpmyadmin 에서 칼럼 타입 변경하려고 해도

질의 오류:
#1067 - Invalid default value for 'mb_today_login'

이렇게 에러 뜨고 진행이 안되네요..
G
GKTEAM
9년 전
해당 컬럼의 기본값을 조정해보세요
모조키
9년 전
GKTEAM //

일단 설치 후에는 에러 떠서 변경자체가 불가능 합니다.
콘솔로 mysql 접속해서 명령어 내려도 동일하게 에러가 뜨고 진행이 안되더군요.

그렇다면 설치전에 인스톨러를 손질해야 한다는 뜻인데..
물론 개인적으로 수정해서 사용이야 할 수는 있겠습니다만...
그누보드는 mysql 신버전지원안합니다~할거 아니라면
개발팀 쪽에서 나서야 할 문제 같습니다.


저는 그냥 mysql 5.7 포기하고 구버전 5.5 깔려있는 서버로 돌아가기로 했습니다. =ㅅ=;
이런걸로 용쓰기 싫네요 ;;;

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

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

로그인