gpt4 book ai didi

mysql - 按位运算的替代方法

转载 作者:行者123 更新时间:2023-11-29 01:14:40 24 4
gpt4 key购买 nike

场景: 我说了 4 个复选框,用户可以选择这些复选框的任意组合(他们也可以不选择一个复选框)。我必须将这 4 个选项存储到一个列中。我认为最好的选择是使用二进制表示来存储

option1 has the constant value 1 
option2 has the constant value 2
option3 has the constant value 4
option4 has the constant value 8

因此,如果客户选择选项 2 和选项 4,则存储在数据库中的值将为 2 + 8,即:10,如果客户选择选项 1、选项 4 和选项 8,则该值将为 1 + 4 + 8,即 13 .

此外,当我从 mysql 查询时,我可以使用

Select * from option_table where (option & 4)=4;

如果我想检索选择了 option3 的行。

但出于某种原因我不能使用这种方法,或者只是说我需要知道将这些多个值存储在单个列中的下一个最佳选择是什么?

最佳答案

另一种方法是将质数相乘。要进行选择,您将选择质数对列值的模数为 0 的列。

例子:

值 1:2
值 2:3
值 3:5
值 4:7

值 2 和 3 将是 3*5 = 15
值 1、2、3、4 将是 2*3*5*7 = 210

要获取值为 1 的行,选择 where value % 2 == 0

关于mysql - 按位运算的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6581865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com