27.7.6.17 mysql_fetch_field()
MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)
Description
返回结果集的一列的定义为MYSQL_FIELD
结构。重复调用此函数以检索有关结果集中所有列的信息。当没有剩余字段时,mysql_fetch_field()返回NULL
。
每次执行新的SELECT查询时,都会重置mysql_fetch_field()以返回有关第一个字段的信息。 mysql_fetch_field()返回的字段也会受到对mysql_field_seek()的调用的影响。
如果您已调用mysql_query()在 table 上执行SELECT但未调用mysql_store_result(),则如果您调用mysql_fetch_field()询问BLOB字段的长度,则 MySQL 将返回默认的 Blob 长度(8KB)。 (选择 8KB 的大小是因为 MySQL 不知道BLOB的最大长度。应该在某个时候将其设置为可配置。)检索到结果集后,field->max_length
将包含特定查询中该列的最大值。 。
Return Values
当前列的MYSQL_FIELD
结构。 NULL
(如果没有剩余列)。
Errors
None.
Example
MYSQL_FIELD *field;
while((field = mysql_fetch_field(result)))
{
printf("field name %s\n", field->name);
}