MySQL参数解析resultset_metadata

2023年 8月 15日 53.0k 0

resultset_metadata 是 MySQL 8.0.3 版本引入的一个参数,在MySQL Server返回查询结果给客户端时,用于控制是否返回结果集的元数据。

  • 作用范围:会话级(session)
  • 取值范围:FULL,NONE
  • 默认值:FULL

FULL表示返回数据集元数据,NONE表示不返回数据集元数据。

对于某些不支持将数据集元数据是否返回设置为可选的客户端,比如自带的mysql命令,设置该参数为NONE时,将返回一个错误,如下:

mysql> set resultset_metadata=NONE;
ERROR 3640 (HY000): The client doesn't support optional metadata transfer

resultset_metadata 参数通常对MySQL的连接驱动有效,比如MySQL的C API,如果设置resultset_metadata=NONE,那么C API的如下函数,将返回NULL。

  • mysql_fetch_field()
  • mysql_fetch_field_direct()
  • mysql_fetch_fields()

如何检查一个结果集里面是否包含元数据,可通过C API函数 mysql_result_metadata(),它返回的值有两个,如下所示,通过这两个值就能知道结果集中是否包含元数据:

  • RESULTSET_METADATA_FULL
  • RESULTSET_METADATA_NONE

其他语言的MySQL驱动,对于该参数,也是相似的用法,不再赘述。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论