- キーの長さを短くする: キーカラムの長さを255バイト以下に減らすことで、エラーを回避することができます。キーカラムのデータ型を適切に選択し、不要な余分なスペースを削除することが重要です。
例:
ALTER TABLE テーブル名 MODIFY COLUMN カラム名 VARCHAR(255);
- インデックスのプレフィックス長を制限する: インデックスのプレフィックス長を指定することで、キーの長さを制限することができます。ただし、プレフィックス長が長すぎると、検索の効率が低下する可能性があるため注意が必要です。
例:
CREATE INDEX インデックス名 ON テーブル名 (カラム名(10));
- InnoDBのデフォルトのインデックスフォーマットを変更する: InnoDBストレージエンジンのデフォルトのインデックスフォーマットを変更することで、キーの長さ制限を拡張することができます。ただし、この方法はMySQLのバージョンや設定に依存するため、注意が必要です。
例:
SET GLOBAL innodb_large_prefix = 1;
以上が、MySQLエラー1071を解決するためのシンプルで簡単な方法とコード例です。エラーを修正し、正常にデータベース操作を行うことができるようになるでしょう。