buffer_type结构成员
        MYSQL_BIND表示绑定到语句参数或结果集列的C语言变量的数据类型
        。对于输入,buffer_type
        指示包含要发送到服务器的值的变量的类型。对于输出,它指示变量的类型,从服务器接收到的值应存储到该变量中。
      
        下表显示了
        发送到服务器的输入值的结构buffer_type成员
        的允许值。MYSQL_BIND该表显示了您可以使用的 C 变量类型、相应的类型代码以及无需转换即可使用提供的值的 SQL 数据类型。buffer_type根据您要绑定的 C 语言变量的数据类型选择值。对于整数类型,您还应该设置
        is_unsigned成员以指示变量是有符号的还是无符号的。
      
表 6.1 MYSQL_BIND 结构允许的输入数据类型
| 输入变量 C 类型 | buffer_type价值 | 目标值的 SQL 类型 | 
|---|---|---|
| signed char | MYSQL_TYPE_TINY | TINYINT | 
| short int | MYSQL_TYPE_SHORT | SMALLINT | 
| int | MYSQL_TYPE_LONG | INT | 
| long long int | MYSQL_TYPE_LONGLONG | BIGINT | 
| float | MYSQL_TYPE_FLOAT | FLOAT | 
| double | MYSQL_TYPE_DOUBLE | DOUBLE | 
| MYSQL_TIME | MYSQL_TYPE_TIME | TIME | 
| MYSQL_TIME | MYSQL_TYPE_DATE | DATE | 
| MYSQL_TIME | MYSQL_TYPE_DATETIME | DATETIME | 
| MYSQL_TIME | MYSQL_TYPE_TIMESTAMP | TIMESTAMP | 
| char[] | MYSQL_TYPE_STRING | TEXT,CHAR,VARCHAR | 
| char[] | MYSQL_TYPE_BLOB | BLOB,BINARY,VARBINARY | 
| MYSQL_TYPE_NULL | NULL | 
按照第 6.2 节“C API 准备语句数据结构”中成员
        MYSQL_TYPE_NULL的说明中的指示
        使用。
      is_null
        对于输入字符串数据,使用MYSQL_TYPE_STRING
        orMYSQL_TYPE_BLOB取决于值是字符(非二进制)还是二进制字符串:
      
- MYSQL_TYPE_STRING表示字符输入字符串数据。假定该值位于- character_set_client系统变量指示的字符集中。如果服务器将值存储到具有不同字符集的列中,它会将值转换为该字符集。
- MYSQL_TYPE_BLOB表示二进制输入字符串数据。该值被视为具有- binary字符集。也就是说,它被视为一个字节串,不发生任何转换。
        下表显示了
        从服务器接收的输出值的结构buffer_type成员
        的允许值。MYSQL_BIND该表显示了接收到的值的 SQL 类型、这些值在结果集元数据中具有的对应类型代码,以及推荐的 C 语言数据类型以绑定到MYSQL_BIND结构以在不转换的情况下接收 SQL 值。buffer_type根据您要绑定的 C 语言变量的数据类型选择
        值。对于整数类型,您还应该设置is_unsigned
        成员以指示变量是有符号的还是无符号的。
      
表 6.2 MYSQL_BIND 结构允许的输出数据类型
| 接收值的 SQL 类型 | buffer_type价值 | 输出变量 C 类型 | 
|---|---|---|
| TINYINT | MYSQL_TYPE_TINY | signed char | 
| SMALLINT | MYSQL_TYPE_SHORT | short int | 
| MEDIUMINT | MYSQL_TYPE_INT24 | int | 
| INT | MYSQL_TYPE_LONG | int | 
| BIGINT | MYSQL_TYPE_LONGLONG | long long int | 
| FLOAT | MYSQL_TYPE_FLOAT | float | 
| DOUBLE | MYSQL_TYPE_DOUBLE | double | 
| DECIMAL | MYSQL_TYPE_NEWDECIMAL | char[] | 
| YEAR | MYSQL_TYPE_SHORT | short int | 
| TIME | MYSQL_TYPE_TIME | MYSQL_TIME | 
| DATE | MYSQL_TYPE_DATE | MYSQL_TIME | 
| DATETIME | MYSQL_TYPE_DATETIME | MYSQL_TIME | 
| TIMESTAMP | MYSQL_TYPE_TIMESTAMP | MYSQL_TIME | 
| CHAR,BINARY | MYSQL_TYPE_STRING | char[] | 
| VARCHAR,VARBINARY | MYSQL_TYPE_VAR_STRING | char[] | 
| TINYBLOB,TINYTEXT | MYSQL_TYPE_TINY_BLOB | char[] | 
| BLOB,TEXT | MYSQL_TYPE_BLOB | char[] | 
| MEDIUMBLOB,MEDIUMTEXT | MYSQL_TYPE_MEDIUM_BLOB | char[] | 
| LONGBLOB,LONGTEXT | MYSQL_TYPE_LONG_BLOB | char[] | 
| BIT | MYSQL_TYPE_BIT | char[] |