sql >> データベース >  >> RDS >> Mysql

ブール値の配列をMySqlデータベースに保存するにはどうすればよいですか?

    検索可能な方法でこれを行う方法を探しているなら、いいえ。

    いくつかの検索可能な方法(複数の列やテーブルを含む):

    • 一連の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]を使用します)。ただし、データは検索できず、コードは少し複雑になります。


    1. 異なるデータ型で外部キーを設定する

    2. AlteryxでのJavaデータの操作

    3. varcharフィールドの型を整数に変更:整数型に自動的にキャストできません

    4. MySQLSELECTで日付をISO8601としてフォーマットします