LoginSignup
13
0

tinyint(1)ってbooleanらしいよ

Last updated at Posted at 2023-12-07

そうなんだ

tinyint(1)ってbooleanらしいです。

あくまで簡単に書いてあるだけなので、ちゃんとした人間はあまり読まないでください。

本題

DBに新しいテーブルを作るときって、
論理カラム名 とか物理カラム名 、型、プライマリーキーとか決めますよね。

この記事ではその時の型について書きますね。

DBはMySQLのつもりでお話しします。

それでは問題です。
新しくテーブルを作るとき、テーブル定義所の型のところにこう書いてあったとします。

VARCHAR(25)

これ、どういう意味か分かりますか?

VARCHARは型の種類ですよね。文字という意味です。
そしてそのあとの(25)、こちらは25文字までという意味ですね。

MySQLのイルカさんもこう言っていたので、間違いないはずです。

文字列カラム (CHAR、VARCHAR および TEXT 型) の定義では、MySQL は長さの指定を文字単位で解釈します。

では、次の問題です

tinyint(1)

こちらはどうですかね?私は初めて見たとき、こう考えました。

「intって数字だから、tinyintは小さい数字ってことかなー。
そして(1)だから、数字が一個しか入らないって意味だろうな:girl_tone1:

同じように思った方いませんか?あ、いないですか。すみません。

この思考、誤りなのです。タイトルにも書いてある通り、

tinyint(1)booleanなのです。

私は思いました。でもDBみてきたら0とか1とか入ってたよ!と。

だまされてはいけません。

見た目は数字ですが、中身はtrueとfalseです。
コナン君です。工藤新一です。

とにかくtinyintが(1)ときたらbooleanなのです。今日はそれだけ覚えて帰ってください。

詳しいことはこちらに書いてありますので、ちゃんとしてる方はMySQLのイルカちゃんの話を聞いてみてくださいませ。
このあたりです。

これらの型は TINYINT(1) のシノニムです。 ゼロの値は false と見なされます。 ゼロ以外の値は true と見なされます。

知らないとわからないですよね。当たり前ですけど。
開いとる店は開いとるし、閉まっとる店は閉まっとるってやつですね。
(THE MANZAI 2019 マスターズ 千鳥のネタ)

さよならー:raised_hand:

13
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
0