検索可能な方法でこれを行う方法を探しているなら、いいえ。
いくつかの検索可能な方法(複数の列やテーブルを含む):
- 一連の
SET を使用します 列。セット内のアイテムは64個(オン/オフ)に制限されていますが、おそらくそれらをグループ化する方法を考え出すでしょう。 - 3つのテーブルを使用します:Items(id、...)、FlagNames(id、name)、およびピボットテーブルItemFlags(item_id、flag_id)。次に、結合 を使用してアイテムをクエリできます。 。
検索可能である必要がない場合、必要なのは、データベースにデータを配置する前にデータをシリアル化し、データを引き出すときにシリアル化を解除して、charまたはvarchar列を使用する方法だけです。
- ご使用の言語に組み込まれている機能を使用してください(PHPのシリアル化/非シリアル化)。
- 一連の「y」と「n」の文字を連結します。
- MySQLデータベースを呼び出す前に、クライアントで値を文字列(1文字あたり8ビット)にビットパックし、データベースからデータを取得するときに値をアンパックします。これは最も効率的なストレージメカニズムです(すべての行が同じ場合は、varchar[x]ではなくchar[x]を使用します)。ただし、データは検索できず、コードは少し複雑になります。