您显示的是二进制数字
- 0000000 = 0
- 0000001 = 2 ^ 0 = 1
- 0000010 = 2 ^ 1 = 2
- 0000011 = 2 ^ 0 + 2 ^ 1 = 3
因此,只需将这些数字存储为整数数据类型(如内部所示,内部使用位存储)。您可以按照文档中建议的方式使用BIGINT进行按位 *** 作(http://dev.mysql.com/doc/refman/5.7/en/bit-
functions.html)。
UPDATe mytableSET bitmask = POW(2, n-1)WHERe id = 12345;
以下是添加标志的方法:
UPDATE mytableSET bitmask = bitmask | POW(2, n-1)WHERe id = 12345;
这是检查标志的方法:
SELECT *FROM mytableWHERe bitmask & POW(2, n-1)
但是,正如注释中所述:在关系数据库中,通常使用列和表来显示属性和关系,而不是使用编码标志列表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)