23.8.11.3 mysql_stmt_attr_set()
my_bool mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type option, const void *arg)
설명
준비 진술의 동작에 영향을 미치는 데 사용할 수 있습니다. 이 함수를 여러 번 호출하여 여러 옵션을 설정할 수 있습니다.
option 인수는 설정하는 옵션입니다. arg 인수는 옵션 값입니다. arg 원하는 속성 값으로 설정되는 변수를 가르켜 야합니다. 변수의 형식은 다음 표와 같이 같은 것이됩니다.
다음 표에는 가능한 option 값을 나타냅니다.
| 옵션 | 인수 형 | 함수 |
|---|---|---|
STMT_ATTR_UPDATE_MAX_LENGTH | my_bool * | 1로 설정되어있는 경우 mysql_stmt_store_result() 에 의해 메타 데이터 MYSQL_FIELD->max_length 값이 업데이트됩니다. |
STMT_ATTR_CURSOR_TYPE | unsigned long * | mysql_stmt_execute() 가 불려 갔을 때 문에 열 커서의 형태. *arg 는 CURSOR_TYPE_NO_CURSOR (기본값) 또는 CURSOR_TYPE_READ_ONLY 을 지정할 수 있습니다. |
STMT_ATTR_PREFETCH_ROWS | unsigned long * | 커서를 사용할 때 서버에서 페치하는 행수. *arg 는 1에서 unsigned long 의 최대 값의 범위에서 지정할 수 있습니다. 기본값은 1입니다. |
CURSOR_TYPE_READ_ONLY 에서 STMT_ATTR_CURSOR_TYPE 옵션을 사용하는 경우, mysql_stmt_execute() 를 호출하면 문에 커서가 열립니다. 이전 mysql_stmt_execute() 호출에서 열린 커서가 이미 존재하는 경우, 그것은 새로운 커서를 열기 전에 커서를 닫습니다. mysql_stmt_reset() 도 명령문을 다시 준비하기 전에 열려있는 커서를 닫습니다. mysql_stmt_free_result() 는 모든 열린 커서를 닫습니다.
준비된 문에 커서를 열 경우 mysql_stmt_store_result() 는 결과 세트를 클라이언트 측에 버퍼시키기 위해 필요하지 않습니다.
반환 값
성공의 경우는 제로. option 알 수없는 경우 0이 아닌.
오류
없음.
Example
MYSQL_STMT *stmt;
int rc;
unsigned long type;
unsigned long prefetch_rows = 5;
stmt = mysql_stmt_init(mysql);
type = (unsigned long) CURSOR_TYPE_READ_ONLY;
rc = mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void*) &type);
/* ... check return value ... */
rc = mysql_stmt_attr_set(stmt, STMT_ATTR_PREFETCH_ROWS,
(void*) &prefetch_rows);
/* ... check return value ... */