printf (Количество строк: %lu\n", (unsigned long) mysql_num_rows(result));
Структура MYSQL_FIELD содержит следующие перечисленные ниже элементы:
Тип величины | Описание типа |
FIELD_TYPE_TINY | Поле TINYINT |
FIELD_TYPE_SHORT | Поле SMALLINT |
FIELD_TYPE_LONG | Поле INTEGER |
FIELD_TYPE_INT24 | Поле MEDIUMINT |
FIELD_TYPE_LONGLONG | Поле BIGINT |
FIELD_TYPE_DECIMAL | Поле DECIMAL или NUMERIC |
FIELD_TYPE_FLOAT | Поле FLOAT |
FIELD_TYPE_DOUBLE | Поле DOUBLE или REAL |
FIELD_TYPE_TIMESTAMP | Поле TIMESTAMP |
FIELD_TYPE_DATE | Поле DATE |
FIELD_TYPE_TIME | Поле TIME |
FIELD_TYPE_DATETIME | Поле DATETIME |
FIELD_TYPE_YEAR | Поле YEAR |
FIELD_TYPE_STRING | Строка поля (CHAR или VARCHAR) |
FIELD_TYPE_BLOB | BLOB или TEXT поле (используется max_length для определения максимальной длинны) |
FIELD_TYPE_SET | Поле типа SET |
FIELD_TYPE_ENUM | Поле типа ENUM |
FIELD_TYPE_NULL | Поле типа NULL |
FIELD_TYPE_CHAR | Не рекомендуется; лучше использовать FIELD_TYPE_TINY |
if (IS_NUM(field->type)) printf("Field is numeric\n");
Значение флага | описание флага |
NOT_NULL_FLAG | Поле не может содержать значение NULL |
PRI_KEY_FLAG | Поле является частью первичного ключа |
UNIQUE_KEY_FLAG | Поле является частью уникального ключа |
MULTIPLE_KEY_FLAG | Поле является частью не уникального ключа |
UNSIGNED_FLAG | Поле имеет атрибут UNSIGNED |
ZEROFILL_FLAG | Поле имеет атрибут ZEROFILL |
BINARY_FLAG | Поле имеет атрибут BINARY |
AUTO_INCREMENT_FLAG | Поле имеет атрибут AUTO_INCREMENT |
ENUM_FLAG | Поле имеет тип ENUM (не рекомендуется) |
SET_FLAG | Поле имеет тип SET (не рекомендуется) |
BLOB_FLAG | Поле имеет тип BLOB или TEXT (не рекомендуется) |
TIMESTAMP_FLAG | Поле имеет тип TIMESTAMP (не рекомендуется) |
if (field->flags & NOT_NULL_FLAG) printf("Field can't be null\n");Можно использовать следующие возможности макросов для определения булевого значения величины flags:
Статус флага | Описание |
IS_NOT_NULL(flags) | Возвращает TRUE, если данное поле определено как NOT NULL |
IS_PRI_KEY(flags) | Возвращает TRUE, если данное поле является первичным ключом |
IS_BLOB(flags) | Возвращает TRUE, если данное поле имеет тип BLOB или TEXT (не рекомендуется; более предпочтительно field->type) |
8.4 Интерфейс C для MySQL | Оглавление | 8.4.2 Обзор функций интерфейса C |