Spec-Zone .ru
спецификации, руководства, описания, API

22.8.9.1. C 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 в зависимости от того, является ли значение символьной (недвоичной) или двоичной строкой:

Следующая таблица показывает допустимые значения для 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[]