そうなんだ
tinyint(1)ってbooleanらしいです。
あくまで簡単に書いてあるだけなので、ちゃんとした人間はあまり読まないでください。
本題
DBに新しいテーブルを作るときって、
論理カラム名 とか物理カラム名 、型、プライマリーキーとか決めますよね。
この記事ではその時の型について書きますね。
DBはMySQLのつもりでお話しします。
それでは問題です。
新しくテーブルを作るとき、テーブル定義所の型のところにこう書いてあったとします。
VARCHAR(25)
これ、どういう意味か分かりますか?
VARCHARは型の種類ですよね。文字という意味です。
そしてそのあとの(25)、こちらは25文字までという意味ですね。
MySQLのイルカさんもこう言っていたので、間違いないはずです。
文字列カラム (CHAR、VARCHAR および TEXT 型) の定義では、MySQL は長さの指定を文字単位で解釈します。
では、次の問題です
tinyint(1)
こちらはどうですかね?私は初めて見たとき、こう考えました。
「intって数字だから、tinyintは小さい数字ってことかなー。
そして(1)だから、数字が一個しか入らないって意味だろうな
」
同じように思った方いませんか?あ、いないですか。すみません。
この思考、誤りなのです。タイトルにも書いてある通り、
tinyint(1)はbooleanなのです。
私は思いました。でもDBみてきたら0とか1とか入ってたよ!と。
だまされてはいけません。
見た目は数字ですが、中身はtrueとfalseです。
コナン君です。工藤新一です。
とにかくtinyintが(1)ときたらbooleanなのです。今日はそれだけ覚えて帰ってください。
詳しいことはこちらに書いてありますので、ちゃんとしてる方はMySQLのイルカちゃんの話を聞いてみてくださいませ。
このあたりです。
これらの型は TINYINT(1) のシノニムです。 ゼロの値は false と見なされます。 ゼロ以外の値は true と見なされます。
知らないとわからないですよね。当たり前ですけど。
開いとる店は開いとるし、閉まっとる店は閉まっとるってやつですね。
(THE MANZAI 2019 マスターズ 千鳥のネタ)
さよならー![]()