MySQLには「ブール」データ型がないように見えるため、MySQLに真/偽の情報を格納するためにどのデータ型を「悪用」しますか?
特に、PHPスクリプトの読み書きのコンテキストでは。
時間をかけて私はいくつかのアプローチを使用してきました。
- tinyint、値0/1を含むvarcharフィールド、
- 文字列「0」/「1」または「true」/「false」を含むvarcharフィールド
- 最後に、2つのオプション「true」/「false」を含む列挙型フィールド。
上記のどれも最適ではないようです。私はtinyint 0/1バリアントを好む傾向があります。PHPでの自動型変換により、ブール値がかなり単純に得られるからです。
では、どのデータ型を使用しますか?私が見落としたブール値用に設計されたタイプはありますか?何らかのタイプを使用することによる利点/欠点はありますか?
bit(1)
Excelにインポートするのに少し時間がかかります。tinyint(1)
作品に切り替えています。