27.7.6.43 mysql_list_fields()

MYSQL_RES *mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)

Description

Note

从 MySQL 5.7.11 开始,不推荐使用mysql_list_fields(),并将在以后的 MySQL 版本中将其删除。而是使用mysql_query()执行SHOW COLUMNS语句。

返回一个空结果集,元数据将为该结果集提供有关给定 table 中与wild参数指定的简单正则 table 达式匹配的列的信息。 wild可以包含通配符%_,或者可以是NULL指针以匹配所有字段。调用mysql_list_fields()与执行查询SHOW COLUMNS FROM tbl_name [LIKE wild]类似。

最好使用SHOW COLUMNS FROM tbl_name而不是mysql_list_fields()

您必须使用mysql_free_result()释放结果集。

Return Values

成功的MYSQL_RES结果集。 NULL(如果发生错误)。

Errors

命令执行 Sequences 不正确。

MySQL 服务器已经消失了。

在查询期间与服务器的连接已丢失。

出现未知错误。

Example
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);