[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
質問
MySQL には「boolean」データ型がないようなので、MySQL で真/偽の情報を格納するためにどのデータ型を「悪用」しますか?
特に、PHPスクリプトから/への書き込みと読み出しのコンテキストで。
私はこれまで、いくつかのアプローチを使い、見てきました。
- 0/1の値を含むtinyint, varcharフィールド。
- 文字列 '0'/'1' または 'true'/'false' を含む varchar フィールド
- そして最後に、'true'/'false' の2つのオプションを含む enum Fields です。
上記のどれもが最適とは思えません。私はtinyint 0/1バリアントを好む傾向があります。PHPの自動型変換はむしろ簡単にブール値を与えてくれるからです。
では、どのデータ型を使っているのでしょうか?私が見落としている、ブーリアン値のために設計された型はありますか?また、どちらかの型を使用することによるメリット/デメリットはありますか?
解決方法は?
MySQL 5.0.3以上の場合、以下のようになります。
BIT
. とマニュアルに書いてあります。
MySQL 5.0.3 では、BIT データ型はビットフィールドの格納に使用されます。 の値です。BIT(M)の型は、Mビット値の保存を可能にします。Mは 1から64まで。
それ以外の場合、MySQL のマニュアルによると
BOOL
または
BOOLEAN
のエイリアスで、現時点では
タイニーイント
(1):
Bool、Boolean。これらの型は、以下の同義語です。 TINYINT (1). 値として ゼロは偽とみなされる。ゼロ以外の の値は真とみなされる。
MySQLは、次のようにも述べている。
私たちは、完全なブーリアン の型処理に準拠した 標準的なSQLで、将来のMySQLで をリリースしました。
参考文献 http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
関連
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
[解決済み] argparseによるブーリアン値のパース
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] MySQLで重複する値を検索する
-
[解決済み] C言語でのブーリアン値の使用
-
[解決済み] MySQLでカラムのデータ型を変更するにはどうすればよいですか?
-
[解決済み】MySQLでお金の値を格納するための最適なデータ型
-
[解決済み】MySQLデータベースで通貨値を格納するための最適なデータ型
-
[解決済み] オラクルのブーリアンフィールド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
MySQL演算子(and, or, in, not)の具体的な使用方法
-
SQL基本クエリステートメント
-
MySQLのselect、distinct、limitの使い方
-
mysqlのデータ圧縮性能比較 詳細
-
MySQLデータベースで数百万件のデータを10秒間で挿入
-
[解決済み】SQLサーバーのテンポラリーテーブルで「すでに名前のついたオブジェクトがあります」エラーが発生する。
-
'INSERT文はFOREIGN KEY制約「FK_TourismReservation_Users」と競合していました。その
-
Djangoマイグレーションエラー 外部キー制約を追加できない
-
群関数解の無効な使用