web-dev-qa-db-ja.com

MySQL BOOLとBOOLEAN列のデータ型の違いは何ですか?

MySQLバージョン5.1.49-1ubuntu8.1を使用しています。これにより、2つの異なるデータ型の列BOOLBOOLEANを定義できます。 2つのタイプの違いは何ですか?

82
ikostia

両方ともTINYINT(1)の同義語です。

129
Adam Prax

他のコメントで確立されているように、それらはTINYINT(1)の同義語です。

* だから、なぜbool、boolean、tinyを区別するのが面倒なのか * int(1)?

主にセマンティクス。

BoolおよびBoolean:MySQLのデフォルトはこれらをtinyint型に変換します。この記事の執筆時点で作成されたMySQLステートメントごとに、「今後のMySQLリリースでは、標準SQLに従って完全なブール型処理を実装する予定です。」

0 =偽1 =真

TINYINT:1バイトを占有します。 -128〜+127の範囲。または、0〜256。


この比較でよく出てくるもの:MySQL 5.0.3以降-ビット:8バイトを使用し、バイナリデータのみを保存します。

24
Sixthfore

私がちょうど気づいたこと-MySqlでBOOLとして定義された列では、Spring RooはJavaコードを正しく生成して値をブール値に非整列化します。列の使用目的に関するヒントの性質。

4
SimonY

mySQLドキュメントの数値型の概要を確認してください。

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

2
gdp