複数のオプションを1つのフィールドに保存して、各オプションの列を作成する必要がなくなりました。選択可能なオプションは時間の経過とともに増加するので、列を使用することはおそらくこれを実行する最善の方法ではありません...一度に選択できるオプションが多すぎるため、データベースに保存できません。複数のオプションを1つのフィールドに保存
私は以下の解決策を考え出し、これを行うためのよりよい方法があるのか、それとも誰かが問題を見ることができるかどうか疑問に思っていました。私はテストをして、それは私が選んだバリエーションのためにうまくいくようです。
方法: すべてのオプションに一意の素数を割り当て、ユーザーが希望のオプションを選択し、選択したオプションの対応する素数を掛けて、結果の値をフィールドに保存させます。 オプションが選択されているかどうかをチェックするとき: 保存された番号が残っていない素数で割り切れる場合、その素数の対応するオプションがユーザーによって選択されました。 例:
- 月曜日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
現在、7つのオプションがあります。私はデータベースのメンテナンスルーチンにこれを使用していますので、問題の数が増えるにつれて何が増えるかを今は分かりにくいです。そのために、この方法に問題があることが分かりました大規模な土地アップ。ちょうどチェックされ、これは29でオーバーフローします。したがって、これは少数のオプションでのみ機能します。 – MarcoF