MySQL: пример использования типа данных BIT - PullRequest
0 голосов
/ 25 августа 2010

Если я правильно понимаю, интерпретация типа данных BIT до MySQL 5.0.3 означала, что он может использоваться как серия флагов?Если это так, то я вижу практическое применение для него в MySQL, но представьте, что он не был бы столь же эффективным, как использование SET.текущая реализация типа данных BIT может быть практически применена в базе данных.Если кто-нибудь сможет дать упрощенное объяснение и, например, где это будет применимо, я был бы признателен.

Я искал описания и примеры в других местах, но мне не удалось найти примеры, применимые только к базам данных.

1 Ответ

0 голосов
/ 25 августа 2010

Предположим, у вас есть строка с полем свойства

Свойства определены как

1  - Has property 1
2  - Has property 2
4  - Has property 3
8  - Has property 4

назначить свойства 1 и 2 (то есть будут очищены только 1 и 2)

 set status = status & 3

добавить объект 3

 set status = status | 4

удалить свойство 1

 set status = status | 14

Выберите строки со свойствами 1 и 2

ВЫБРАТЬ .. ГДЕ (Свойства & 3) = 3

Выберите строки, где свойства 1 или 2

ВЫБРАТЬ .. ГДЕ (Свойства & 1) = 1 ИЛИ (Свойства & 2) = 2

...