タグ

ブックマーク / next4us-ti.hatenablog.com (2)

  • 整数型のカッコ「()」に入る数字は表示幅 - 41から始めました

    この記事はMySQL Casual Advent Calendar 2018 13日目の記事です。 テーブル作成時 カラムの型を定義しますが、数字列に対して hoge_id` bigint(20) hoge_flag` tinyint(1) というようにカッコ()の中に数字を入れていると思いますが、この数字がそもそも省略できることは知っていると思います。 省略するとデフォルト値(bigintなら20、tinyintなら4)が入ることまではちょっと調べたり、テーブル作った後に show create table した結果から確認できるのでその数字まで知っている人も多いと思います。 この数字、入力可能桁数だと思ってません? 僕は最初そう思ってました。 他のDBもそうだし、文字列型についてはそうですから。 でも整数型は違うんです。 この数字、表示幅なんです。 何を言っているのかというと、 MyS

    整数型のカッコ「()」に入る数字は表示幅 - 41から始めました
  • テーブルやカラムのCollationは揃えよう - 41から始めました

    元ネタはMySQL Casualのslack この辺以降 それを見て、 そういや自分も2年前(DB移行時)にこれ調べたなー 社内メンバーに改めてちゃんと周知しよう なんか記事書くか という軽い備忘録的な感じ。 ちなみに、揃えないとどうなるか? slackにもあったように、 インデックスが効かない!(抽出はできる) 試しにテストテーブルを作る(個人の趣味が多分に含まれているのは気にしないこと) 使った環境はMySQL8.0.13 CREATE TABLE `test1` ( `test1_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'testID1', `test1_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名前', `test1

    テーブルやカラムのCollationは揃えよう - 41から始めました
  • 1