エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

Laravel+MySQLでtinyintの扱い【157日目】

desc table_nameでなにこれとなる

なぜ1だったり、4だったり指定されているのかと思って調べてみた。備忘録。

tinyintとは

1byteの数値。

符号なしなら、0から255、符号ありなら、-128から127まで。

tinyint(1)は

mysqlの時だけ、0or1を指します。つまり、booleanです。 

Laravelでマイグレーション書くときには

tinyint(1)は0or1、つまりboolean扱いになります、

$table->boolean('is_num');

tinyintの幅を指しているので、

$table->tinyInteger('numbers');

ちなみに、0から255は符号なしにするだけなので

$table->tinyInteger('numbers')->unsigned();

  になります。