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