Spec-Zone .ru
спецификации, руководства, описания, API
|
buffer_type
элемент MYSQL_BIND
структуры указывают на
тип данных переменной языка C, связанной со столбцом параметра оператора или набора результатов. Для ввода,
buffer_type
указывает на тип переменной, содержащей значение, которое будет
отправлено серверу. Для вывода это указывает на тип переменной, в которую должно быть сохранено значение,
полученное от сервера.
Следующая таблица показывает допустимые значения для buffer_type
элемент MYSQL_BIND
структуры для входных значений, отправленных серверу. Таблица показывает
типы переменной C, что можно использовать, соответствующие коды типа, и типы данных SQL, для которых
предоставленное значение может использоваться без преобразования. Выберите buffer_type
значение согласно типу данных переменной языка C, которую Вы
связываете. Для целочисленных типов следует также установить is_unsigned
элемент,
чтобы указать, подписывается ли переменная или без знака.
Входная Переменная 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 |
Использовать MYSQL_TYPE_NULL
как обозначено в описании для is_null
элемент в Разделе 22.8.9, "API C Готовые
Структуры данных Оператора".
Для данных строки ввода использовать MYSQL_TYPE_STRING
или MYSQL_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
элемент, чтобы указать, подписывается ли переменная или без
знака.
Тип 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[] |