質問: true」は成立する? --- **Q2.boolean型は、tinyint(1)型と完全に同一?** ・boolean型でフィールド作成するとtinyint(1)型で作成されるのですが、これは、最初からtinyint(1)型を指定して作成したフィールト内容と全く同じということを意味するのでしょうか? --- **Q3.boolean型は、どうしてbit(1)型ではない?** ・tinyint(1)型だと01以外も格納されることが有り得るので、0と1しか格納できないbit(1)型の方が、より適切と思うのですが... ・boolean型を、tinyint(1)型として処理するような仕様になっているのは、何か理由があるのでしょうか?
回答: 1. MySQL ではリテラルとしての TRUE, FALSE は構文解析時に 1, 0 として扱われます。そのため 1, 0 と指定するのとまったく同じです。 2. 型としての BOOLEAN も同様に構文解析時に TINYINT(1) として扱われます。BOOLEAN と TINYINT(1) はまったく同じです。 3. これについてはわかりません。