묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
xe_document_extra_keys 테이블의 var_idx 값
2018.01.16 15:54
안녕하세요 xe_document_extra_keys 테이블에 값을 추가하는 부분에서 막히는 곳이 있어 질문을 드립니다.
여분필드를 게시판 설정에서 입력하는 것이 아니라 모듈이 생성될때 자동으로 여분필드를 생성하게 하기 위해서 아래와 같은 소스를 작성했습니다. (module / board / skin / mainSlider / _header.html)
{@
$obj = new stdClass();
$obj->module_srl = $module_info->module_srl;
$obj->eid = 'extra_vars_6';
$query_path = $module_info->module."/skins/".$module_info->skin;
$output = executeQueryArray($query_path.'.getExtraVar', $obj);
}
<!--@if(!count($output->data))-->
{@
$obj->var_name = "Title";
$obj->var_type = "text";
$obj->var_is_required = "N";
$obj->var_search = "N";
$obj->var_default = "Please enter a slider title";
$obj->var_desc = "Title for slider";
var_dump($obj);
echo "<br>";
$query_path = $module_info->module."/skins/".$module_info->skin;
$outputExtraVars = executeQueryArray($query_path.'.insertExtraVar', $obj);
echo $query_path;
echo "<br>";
print_r($outputExtraVars);
}
실행을 해 보면 DB에 값들이 입력은 되는데 var_idx 값이 0으로 입력이 됩니다.
보통 idx값 같은 경우 A.I를 설정하여 자동으로 값을 매기게 되는데 아래의 xe_document_extra_keys 테이블의 스키마를 보면 var_idxcolumn에 A.I가 설정이 되어있지 않습니다.
CREATE TABLE `xe_document_extra_keys` (
`module_srl` bigint(11) NOT NULL,
`var_idx` bigint(11) NOT NULL,
`var_name` varchar(250) NOT NULL,
`var_type` varchar(50) NOT NULL,
`var_is_required` char(1) NOT NULL DEFAULT 'N',
`var_search` char(1) NOT NULL DEFAULT 'N',
`var_default` text,
`var_desc` text,
`eid` varchar(40) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
xe에서는 어떤 식으로 var_idx값을 가져오는지를 잘 몰라서 질문을 드립니다. var_idx값을 가져오는 다른 방법이 있는지 혹은 가장 큰값을 가져오는 쿼리를 작성한 후 그 값에다 +1을해서 값을 입력하는지 고수님들 답변 좀 부탁드립니다. ㅠㅠ
태그 연관 글
- [2018/01/14] 묻고답하기 insert xml 쿼리문 *2
- [2018/01/12] 묻고답하기 스킨내에서 query 문 실행 *2
- [2017/06/10] 묻고답하기 시놀로지NAS XE 설치중 짧은주소 설정문제 도움요청 *1
'동일 module_srl 내'에서 가장 큰 var_idx + 1 로 처리가 될겁니다.