int mysql_stmt_store_result(MYSQL_STMT *stmt)
説明
結果セット(SELECT
SHOW
,
DESCRIBE
,
EXPLAIN
)をうまく生成するすべてのステートメントのため
および、クライアントに全結果セットを一時保存して、その後のmysql_stmt_fetch()
コールが一時保存データを戻すようにして欲しい場合、mysql_stmt_fetch()
を呼び出さなければなりません。
他のステートメントのためmysql_stmt_store_result()
を呼び出すことは不要です。しかし、そうしても、性能を害するか傷つけることはありません。mysql_stmt_result_metadata()
がNULL
を戻すかチェックすることによって、ステートメントが結果セットを生成したか否かを検知することができます。.明細については、項23.2.7.22. 「mysql_stmt_result_metadata()
」をご参照ください。
注:MySQLは、ysql_stmt_store_result()
をかなりスローダウンさせ、殆どのアプリケーションがmax_length
を必要としなくなるので、デフォルトによって、YSQL_FIELD->max_length
をmax_length
中のすべてのカラムに対して計算しません。max_length
を更新したい場合、mysql_stmt_attr_set(MYSQL_STMT,
STMT_ATTR_UPDATE_MAX_LENGTH,
&flag)
を呼び出してこれを有効にすることができます。項23.2.7.3. 「mysql_stmt_attr_set()
」を参照してください。
戻り値
結果がうまく一時保存された場合、ゼロ。エラーが起こった場合、ゼロ以外。
エラー
CR_COMMANDS_OUT_OF_SYNC
コマンドが妥当でないオーダーで実行されました。
CR_OUT_OF_MEMORY
メモリ不足。
CR_SERVER_GONE_ERROR
MySQLサーバが立ち去りました。
CR_SERVER_LOST
サーバへの接続がクエリー中に失われました。
CR_UNKNOWN_ERROR
未知のエラーが起こりました。