我需要将多个选项保存到一个字段中,这样我就不必为每个选项创建一个列。可以选择的选项会随着时间的推移而增加,所以使用列可能不是最好的方法,一次可以选择多个选项并保存到数据库。在单个字段中保存多个选项
所以我想出了以下解决方案,并想知道是否有更好的方法来做到这一点,如果有人可以看到任何问题。我已经完成了测试,并且对于我选择的变体似乎工作正常。
方法: 为所有选项分配一个唯一的素数,让用户选择他想要的选项,将选中选项的相应素数乘以并将结果值保存在字段中。 当检查是否选择了该选项时: 如果保存的号码可以被质数除尽而没有剩余,则该质数的相应选项由用户选择。 如:
- 2日星期一,星期二3,周三5,周四7,星期五11, 周六13,周日17
选择: 周一,周五,周日 2 * 11 * 17 = 374
**Monday** = 374/2=187, (Or 374 % 2 = 0)
Tuesday = 374/3=124.6666666666667,
Wednesday = 374/5=74.8,
Thursday = 374/7=53.42857142857143,
**Friday** = 374/11=34,
Saturday = 374/13=28.76923076923077,
**Sunday** = 374/17=22
您目前有多少种选项(如标题中所写),并且预计将来会有多少? – shahkalpesh 2012-01-17 15:33:05
目前我们有七个选项。我正在使用它来处理我们的数据库维护例程,因此很难说现在会有多少,我们在问题出现时添加更多的东西......为此,我发现这种方法的问题在于将数字相乘土地相当大。刚刚检查过,这在29上溢出。所以这只适用于少数选项。 – MarcoF 2012-01-18 05:58:45