Справочное руководство по MySQL версии 4.1.1-alpha



8.4.1 Типы данных C API - часть 3


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 (не рекомендуется)

Использование флагов BLOB_FLAG, ENUM_FLAG, SET_FLAG и TIMESTAMP_FLAG не рекомендуется, поскольку они указывают скорее тип поля, чем атрибут этого типа. Вместо этого более предпочтительно определять тип поля описанным выше способом field->type в отношении полей FIELD_TYPE_BLOB, FIELD_TYPE_ENUM, FIELD_TYPE_SET или FIELD_TYPE_TIMESTAMP. Следующий пример иллюстрирует типичное использование величины flags:

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)

unsigned int decimals

Возвращает число десятичных знаков для числовых полей.




Содержание  Назад  Вперед