워드프레스 입문 2일차 초보입니다.
KBorad 플러그인 최신버전(4.1), 댓글(3.3)을 설치해서 사이트를 제작중인데요.
위젯에 숏코드로 최신글 목록을 내오는부분은 잘 되었는데
관리자단에서 [최신글 뷰 생성]을 했을때 아래와 같은 에러가 발생합니다.
MySQL 메시지 1364:
Field 'name' doesn't have a default value
SQL 질의:
INSERT INTO `wp_kboard_board_latestview` (`created`) VALUE ('20140121151837')
이 오류 내용을 코스모스팜 스레드(http://www.cosmosfarm.com/threads)에 알려주세요. 개인정보는 지워주세요.
편집기로 소스를 열어보니 쿼리문 자체에 name 매개변수를 넣지 않도록 되어있는것 같은데
디비셋팅엔 not null이 되어있는가봅니다? 수정을 해볼까 하다가 일단 질문 드려 봅니다..
/**
* 모아보기를 생성한다.
*/
public function create(){
$date = date("YmdHis", current_time('timestamp'));
$result = kboard_query("INSERT INTO `".KBOARD_DB_PREFIX."kboard_board_latestview` (`created`) VALUE ('$date')");
$insert_id = mysql_insert_id();
if(!$insert_id) list($insert_id) = mysql_fetch_row(kboard_query("SELECT LAST_INSERT_ID()"));
$this->uid = $insert_id;
return $this->uid;
}
저도 유저인데요, (db백업후) 혹 해당 테이블의 default value를 nul로 하고 KBoard를 비활성화 후 활성화하고 게시글을 새로 올리셔도 증상이 같은가요?
쿼리문 자체는 특별한 문제가 없어보이는데(4.0기준) 혹 워드프레스같은것 다 설치 하신 뒤에 php인젝션에 대해 방화벽같은걸 설정하고
그리고 나서 보드같은걸 인스톨하면 유사한 에러가 날 수 있는데요
디비 백업후 null로 해보시고 케이보드 disable하셨다가 enable시키고 테스트해보시면 확인이 좀더 쉬울것 같네요.
그리고 1364에러가 아주 간혹 테이블 캐시가 메모리가 아니라 디스크에 자꾸 쌓이고 그런 경우에도 나는 경우가 있기도 한데요
db가 환경에 따라 변수가 너무 많아서 도움이 안되는 답글이 되었네요 ㅡㅡ;;;;;;
짐작하신 문제가 맞는듯 한데요.
컬럼을 null로 변경해보시겠어요?
저희도 버그 테스트 해보겠습니다.
답변주셔서 감사합니다. 일단은 제가 초짜라 다양한 프러그인과 설정을 해보지 못했고 어제 워드프레스 설치하고 검색해서 곧바로 KBoard를 설치했었구요. 말씀하신 방화벽이라던지.. 그런건 잘 모르겠습니다. 일단 비활성화를 했다가 다시 활성화를 했음에도 동일한 증상이 나타나서 DB스키마를 변경해 보았습니다. DDL은 아래처럼 되어있었습니다 모든필드가 다 not null 이네요.. CREATE TABLE `wp_kboard_board_latestview` ( `uid` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(127) NOT NULL, `skin` VARCHAR(127) NOT NULL, `rpp` INT(10) UNSIGNED NOT NULL, `created` CHAR(14) NOT NULL, PRIMARY KEY (`uid`) ) COLLATE='utf8_general_ci' ENGINE=MyISAM;
name, skin, rpp에 대해서 null로 셋팅하고 다시 해보니 잘 작동 합니다.
문제 해결된것 같습니다 감사합니다
다음 버전에서는 오류를 최대한 줄이도록 하겠습니다^^