-
VARCHARの長さを短くする: エラーメッセージが示すように、キーの最大長は767バイトです。そのため、VARCHAR列の長さを767バイト以下に制限することで問題を回避できます。例えば、VARCHAR(255)をVARCHAR(191)に変更するなどの方法です。
-
インデックスのプレフィックス長を設定する: インデックスのプレフィックス長を指定することで、キーの長さを制限することができます。例えば、VARCHAR(255)の列にインデックスを作成する場合、インデックスのプレフィックス長を191に設定することで問題を回避できます。
-
InnoDBのデフォルトのインデックス形式を変更する: InnoDBストレージエンジンを使用している場合、デフォルトのインデックス形式が「REDUNDANT」になっている可能性があります。これは、インデックスのキープレフィックス長が767バイトに制限される原因となります。デフォルトのインデックス形式を「DYNAMIC」または「COMPRESSED」に変更することで、キーの最大長を増やすことができます。