如果我理解正确,那么MySQL 5.0.3之前对BIT数据类型的解释意味着它可以用作一系列标志?如果是这种情况,我可以在MySQL中看到它的实际用途,但想象它不会像使用SET一样高效。
即使不是上述情况,我也很难理解BIT数据类型的当前实现如何在数据库中实际应用。如果有人能够提供简化的解释,并举例说明它适用的地方,我将不胜感激。
我在其他地方搜索了描述和示例,但未能找到仅适用于数据库的示例。
答案 0 :(得分:0)
假设您有属性字段的行
属性定义为
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的行
选择.. WHERE(属性& 3)= 3
选择属性1或2
的行选择.. WHERE(属性& 1)= 1 OR(属性& 2)= 2