쿼리문좀 봐주세요
본문
회원 일괄 등록 하려고 하는데 쿼리가 먹히질 않네요
insert into g5_member set mb_id='1234', mb_nick='123456',mb_name='홍길동'
echo 로 뽑아보면 위처럼 나오는데 쿼리가 들어가질 않고 자꾸 에러가 나길래
mysql에서 직접 쿼리를 쳐보니까 #1292 - Incorrect date value: '0000-00-00' for column 'mb_nick_date' at row 1라는 에러가 나옵니다.
mb_nick_date에 값을 넣으면 또다시 mb_open_date 에 에러가 납니다.
날짜란 날짜 필드는 모두 값을 넣어야지만 되네요..
쿼리문을 바꿔봐도 insert into g5_member (mb_id,mb_nick,mb_name) values ( '1234','123456','홍길동') 마찮가지로 같은 에러가 나네요.
기억에 전에는 이런 에러가 없었던거 같은데 언제부턴가 서버를 옮긴뒤인지 뭔지 기억은 안나는데 속썩이네요
필요한 값만 넣을수 없는건가요?
답변 2
옮겨진 새로운 서버 환경에서 sql_mode 설정중
관련 값이 기본 사용 설정으로 되어 있는 경우가 있을것 같습니다.
https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html
다음과 같은 항목들이 문제 관련된 값으로 예상되고
NO_ZERO_IN_DATE
NO_ZERO_DATE
STRICT_TRANS_TABLES
정적 설정파일 *.cnf 부터 동적 세션 쿼리레벨 까지
영구 조정 및 임시 조정이 가능하니
정적 방법부터 확인 후 권한이 없어 컨트롤이 어렵다면
동적 방법이 사용되면 될것 같습니다.
동적 방법은 다음 링크에서 확인할수 있습니다.
https://github.com/gnuboard/gnuboard5/blob/master/common.php#L167
데이타베이스에서 현재 날짜 필드가 올바른 날짜 값이여야 하는데 현재 그렇지않는 것 같습니다.