MYSQL_RES *
mysql_list_fields(MYSQL *mysql,
const char *table,
const char *wild)
笔记
从 MySQL 5.7.11 开始,mysql_list_fields()
已弃用并在未来版本的 MySQL 中删除。相反,使用
mysql_real_query()
or
mysql_query()
来执行
SHOW COLUMNS
语句。
返回一个空结果集,其元数据提供有关给定表中与
wild
参数指定的简单正则表达式匹配的列的信息。wild
可能包含通配符%
或
_
,也可能是NULL
匹配所有字段的指针。调用
mysql_list_fields()
类似于执行查询。
SHOW COLUMNS FROM
tbl_name
[LIKE
wild
]
最好使用而不是
.
SHOW COLUMNS FROM
tbl_name
mysql_list_fields()
您必须使用 释放结果集
mysql_free_result()
。
-
命令的执行顺序不正确。
-
MySQL 服务器已经消失。
-
查询期间与服务器的连接丢失。
-
出现未知错误。
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);