在MySQL中存储二进制字符串

| 我已经为我们的管理中心开发了一个小型的二进制标志系统。它使我们可以将项目设置为具有多个选项,而不必存储具有多个字段的表。 一旦使用按位运算符将选项转换为二进制,我们最终会得到一个像10000或10010这样的选项,这都很好。这样,我们就可以继续添加选项,而不必重新编写哪个值是10010&(1 << 4),而且我知道我们已经打开了某些功能。 但是问题是将这些数据存储在我们的MySQL表中。我尝试了几种字段类型,但没有一个允许我执行查询,例如,
SELECT * FROM _table_ x WHERE x.options & (1 << 4)
有什么建议吗?     
已邀请:
要检查是否设置了您的查询,您需要:
SELECT * FROM _table_ x WHERE x.options & (1 << 4) != 0
并检查是否未设置:
SELECT * FROM _table_ x WHERE x.options & (1 << 4) = 0
更新:这是设置单个位的方法:
UPDATE table SET options = options | (1 << 4)
要清除单个位:
UPDATE table SET options = options &~ (1 << 4)
您还可以使用二进制字符串一次将它们全部设置:
UPDATE table SET options = b\'00010010\'
    
SET字段类型在这里有用吗?     

要回复问题请先登录注册