我正在开发一个类似调查的应用程序。对于多项选择题,我想将项目组合存储在一个数字中以将其存储在一行中。
所以问题的数据库结构是这样的:
id type text item_id
-- --------------- --------------------------- -------
1 multiple_choice which one would you choose? 42
1 multiple_choice which one would you choose? 43
1 multiple_choice which one would you choose? 46
这是一个有 3 个选项的问题,选项将从另一个表items调用,id 为 42,43,46
所以我想把这个组合变成一个数字来实现这一点:
id type text items
-- --------------- --------------------------- -------
1 multiple_choice which one would you choose? x*
- x 应该是一个数字,表明它来自数字 42,43,46
所以在数学上它会像
f({42,43,46}) = x and f^-1(x)={42,43,46}
解决这个问题的一种方法可能是使用素数作为项目 ID。所以它们的乘法是唯一的,但是有没有办法对所有数字做到这一点?
提前致谢。