MYSQL_RES *mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)
説明
wild
パラメータによって指定された簡単な正規表現に一致する、指定されたテーブル内のカラムに関する情報をメタデータで提供する空の結果セットを返します。wild
にはワイルドカード文字 「%
」 または 「_
」 を含めることができ、またはすべてのフィールドに一致する NULL
ポインタにできます。mysql_list_fields()
の呼び出しは、クエリー SHOW COLUMNS FROM
の実行と似ています。
tbl_name
[LIKE wild
]
mysql_list_fields()
の代わりに SHOW COLUMNS FROM
を使用することをお勧めします。
tbl_name
mysql_free_result()
によって結果セットを解放する必要があります。
戻り値
成功した場合は MYSQL_RES
結果セット。エラーが発生した場合は NULL
。
エラー
-
CR_COMMANDS_OUT_OF_SYNC
コマンドが正しくない順番で実行されました。
-
CR_SERVER_GONE_ERROR
MySQL サーバーが存在しなくなりました。
-
CR_SERVER_LOST
サーバーへの接続がクエリー中に失われました。
-
CR_UNKNOWN_ERROR
不明なエラーが発生しました。
例
int i;
MYSQL_RES *tbl_cols = mysql_list_fields(mysql, "mytbl", "f%");
unsigned int field_cnt = mysql_num_fields(tbl_cols);
printf("Number of columns: %d\n", field_cnt);
for (i=0; i < field_cnt; ++i)
{
/* col describes i-th column of the table */
MYSQL_FIELD *col = mysql_fetch_field_direct(tbl_cols, i);
printf ("Column %d: %s\n", i, col->name);
}
mysql_free_result(tbl_cols);