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 ... */