なんとかして制限を超えないといけない時ってありますよね。 MySQLで、InnoDBでPK・Uniqueをはるカラムには、フィールド長の制限があります。 俗に言う767byte問題です。 MySQLの767byte問題 1,テーブルの文字コードをシングルバイトにする 2,カラムの文字コードをシングルバイトにする 3,カラムを分割する 総評 MySQLの767byte問題 プリフィックスは最高で1000バイトの長さまで可能です。(InnoDB テーブルは767バイト)非バイナリ データ タイプ(CHAR、VARCHAR、TEXT)では CREATE INDEX ステートメントのプリフィックス長は文字数で解釈される一方、プリフィックス リミットはバイトで計算されるという事を覚えておいて下さい。マルチバイトの文字セットを利用するカラムのプリフィックス長を指定する時にはこれを考慮に入れておいて下さ
![MySQLのPK・UNIQUEのフィールド長制限に立ち向かう - 文系プログラマによるTIPSブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/3dc06644c9a8523dc6703efaba12d09238e0b7cb/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftreeapps%2F20180418%2F20180418131549.png)