的buffer_type
的成员MYSQL_BIND
struct表示绑定到语句参数或结果集列的C语言变量的数据类型。为输入,buffer_type
指示包含要发送到服务器的值的变量的类型。对于输出,它指示应该将从服务器接收的值存储到的变量的类型。
的允许值如下表所示buffer_type
的成员MYSQL_BIND
用于发送到服务器的输入值的结构。表中显示了可以使用的C变量类型、相应的类型代码,以及无需转换就可以使用所提供值的SQL数据类型。选择buffer_type
值,根据要绑定的C语言变量的数据类型。对于整数类型,还应该设置is_unsigned
成员来指示变量是有符号的还是无符号的。
表6.1 MYSQL_BIND结构允许的输入数据类型
输入变量C类型 | buffer_type 价值 |
SQL目的值类型 |
---|---|---|
签署了字符 |
MYSQL_TYPE_TINY |
非常小的整数 |
短整型 |
MYSQL_TYPE_SHORT |
短整型 |
int |
MYSQL_TYPE_LONG |
INT |
长长的int |
MYSQL_TYPE_LONGLONG |
长整型数字 |
浮动 |
MYSQL_TYPE_FLOAT |
浮动 |
双 |
MYSQL_TYPE_DOUBLE |
双 |
MYSQL_TIME |
MYSQL_TYPE_TIME |
时间 |
MYSQL_TIME |
MYSQL_TYPE_DATE |
日期 |
MYSQL_TIME |
MYSQL_TYPE_DATETIME |
DATETIME |
MYSQL_TIME |
MYSQL_TYPE_TIMESTAMP |
时间戳 |
char [] |
MYSQL_TYPE_STRING |
文本 ,字符 ,VARCHAR |
char [] |
MYSQL_TYPE_BLOB |
团 ,二进制 ,VARBINARY |
MYSQL_TYPE_NULL |
零 |
使用MYSQL_TYPE_NULL
如描述中所示is_null
成员第6.2节,“C API准备好的语句数据结构”。
对于输入的字符串数据,使用MYSQL_TYPE_STRING
或MYSQL_TYPE_BLOB
根据值是字符(非二进制)还是二进制字符串:
MYSQL_TYPE_STRING
字符输入字符串数据。属性指定的字符集中character_set_client
系统变量。如果服务器将该值存储到具有不同字符集的列中,则将该值转换为该字符集。MYSQL_TYPE_BLOB
二进制输入字符串数据。该值被视为具有二进制
字符集。也就是说,它被视为一个字节字符串,并且没有发生转换。
的允许值如下表所示buffer_type
的成员MYSQL_BIND
用于从服务器接收的输出值的结构。表中显示了接收到的值的SQL类型、这些值在结果集元数据中对应的类型代码,以及要绑定到的推荐的C语言数据类型MYSQL_BIND
结构接收SQL值而不进行转换。选择buffer_type
值,根据要绑定的C语言变量的数据类型。对于整数类型,还应该设置is_unsigned
成员来指示变量是有符号的还是无符号的。
表6.2 MYSQL_BIND结构允许的输出数据类型
SQL接收值类型 | buffer_type 价值 |
输出变量C类型 |
---|---|---|
非常小的整数 |
MYSQL_TYPE_TINY |
签署了字符 |
短整型 |
MYSQL_TYPE_SHORT |
短整型 |
MEDIUMINT |
MYSQL_TYPE_INT24 |
int |
INT |
MYSQL_TYPE_LONG |
int |
长整型数字 |
MYSQL_TYPE_LONGLONG |
长长的int |
浮动 |
MYSQL_TYPE_FLOAT |
浮动 |
双 |
MYSQL_TYPE_DOUBLE |
双 |
小数 |
MYSQL_TYPE_NEWDECIMAL |
char [] |
一年 |
MYSQL_TYPE_SHORT |
短整型 |
时间 |
MYSQL_TYPE_TIME |
MYSQL_TIME |
日期 |
MYSQL_TYPE_DATE |
MYSQL_TIME |
DATETIME |
MYSQL_TYPE_DATETIME |
MYSQL_TIME |
时间戳 |
MYSQL_TYPE_TIMESTAMP |
MYSQL_TIME |
字符 ,二进制 |
MYSQL_TYPE_STRING |
char [] |
VARCHAR ,VARBINARY |
MYSQL_TYPE_VAR_STRING |
char [] |
TINYBLOB ,非常小的文本串 |
MYSQL_TYPE_TINY_BLOB |
char [] |
团 ,文本 |
MYSQL_TYPE_BLOB |
char [] |
MEDIUMBLOB ,简单 |
MYSQL_TYPE_MEDIUM_BLOB |
char [] |
LONGBLOB ,量变 |
MYSQL_TYPE_LONG_BLOB |
char [] |
位 |
MYSQL_TYPE_BIT |
char [] |