Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:在何处使用位数据类型的示例_Mysql_Bit_Types - Fatal编程技术网

MySQL:在何处使用位数据类型的示例

MySQL:在何处使用位数据类型的示例,mysql,bit,types,Mysql,Bit,Types,如果我理解正确,MySQL 5.0.3之前对位数据类型的解释意味着它可以用作一系列标志?如果是这种情况,我可以在MySQL中看到它的实际用途,但想象一下,它不会像使用SET那样高效 即使上述情况并非如此,我也很难理解如何在数据库中实际应用位数据类型的当前实现。如果有人能够提供一个简单的解释,并举例说明适用的地方,我将不胜感激 我在别处搜索过描述和示例,但没有找到仅适用于数据库的示例。假设您有带有属性字段的行 定义为 1 - Has property 1 2 - Has property 2

如果我理解正确,MySQL 5.0.3之前对位数据类型的解释意味着它可以用作一系列标志?如果是这种情况,我可以在MySQL中看到它的实际用途,但想象一下,它不会像使用SET那样高效

即使上述情况并非如此,我也很难理解如何在数据库中实际应用位数据类型的当前实现。如果有人能够提供一个简单的解释,并举例说明适用的地方,我将不胜感激


我在别处搜索过描述和示例,但没有找到仅适用于数据库的示例。

假设您有带有属性字段的行

定义为

1  - Has property 1
2  - Has property 2
4  - Has property 3
8  - Has property 4
分配属性1和属性2(即仅清理1和2个其他属性)

添加属性3

 set status = status | 4
删除属性1

 set status = status | 14
选择属性为1和2的行

选择。。 其中(属性&3)=3

选择属性为1或2的行

选择。。
其中(Properties&1)=1或(Properties&2)=2

谢谢,我了解其中的一些内容,但如果可能的话,我需要一个更基本的描述?好的。以下三个网站(或多或少按顺序)为我清理了这个问题。我不知道按位运算符和位移位:
 set status = status | 14