この記事は、著者の許可を得て配信しています。 Why do database columns have a character length of 191? データベースのスキーマを見ていると、次のようなテキストフィールドが定義されていることがあります。 email_address varchar(191) NOT NULL これは、カラムが最大191文字の文字列に対応していて、NULLの使用ができないということを意味しています。191という数字は奇数ですが、一体なぜ191文字なのでしょうか?この記事では、ほとんどのリレーショナル・データベースで191文字の制限がデフォルトになっている歴史的な理由を解説します。 なぜtextではなくvarcharなのか? まず、最初に疑問に思うが、「なぜデータベースに保存する文字列の長さを制限するのか」ということです。最近のモダンな一般的なリレーショナル・
![データベースカラムの文字数が191文字である理由](https://cdn-ak-scissors.b.st-hatena.com/image/square/54ad54e981b86ef0a136a40dd57fe35307f3c82b/height=288;version=1;width=512/https%3A%2F%2Fs3-ap-northeast-1.amazonaws.com%2Fraptor-photo-production%2Fuploads%2Fckeditor%2Fpictures%2F3197%2Fcontent_210515-varchar191.png)