MySQLエラー1071: 指定されたキーが長すぎます; キーの最大長は255バイトです


  1. キーの長さを短くする: キーカラムの長さを255バイト以下に減らすことで、エラーを回避することができます。キーカラムのデータ型を適切に選択し、不要な余分なスペースを削除することが重要です。

例:

ALTER TABLE テーブル名 MODIFY COLUMN カラム名 VARCHAR(255);
  1. インデックスのプレフィックス長を制限する: インデックスのプレフィックス長を指定することで、キーの長さを制限することができます。ただし、プレフィックス長が長すぎると、検索の効率が低下する可能性があるため注意が必要です。

例:

CREATE INDEX インデックス名 ON テーブル名 (カラム名(10));
  1. InnoDBのデフォルトのインデックスフォーマットを変更する: InnoDBストレージエンジンのデフォルトのインデックスフォーマットを変更することで、キーの長さ制限を拡張することができます。ただし、この方法はMySQLのバージョンや設定に依存するため、注意が必要です。

例:

SET GLOBAL innodb_large_prefix = 1;

以上が、MySQLエラー1071を解決するためのシンプルで簡単な方法とコード例です。エラーを修正し、正常にデータベース操作を行うことができるようになるでしょう。