【mysql】テーブルにインデックスを追加する方法

mysqlで、既存のテーブルにインデックスを追加する方法

————————————————
CREATE INDEX インデックス名 ON テーブル名(フィールド名);
————————————————

もしくは、
————————————————
ALTER TABLE テーブル名 ADD INDEX インデックス名(フィールド名);
————————————————

インデックス名は下記のように省略可。
————————————————
ALTER TABLE テーブル名 ADD INDEX (フィールド名);
————————————————
この場合、インデックスのフィールド名がそのままインデックス名となる。

TEXT型など一部の型にインデックスの追加を試みると、エラーになる場合がある。

エラーメッセージ
————————————————
BLOB/TEXT column ‘text_field’ used in key specification without a key length
————————————————

対処法。適当にキー長を明示する。
————————————————
ALTER TABLE テーブル名 ADD INDEX インデックス名(フィールド名(100));
————————————————

最後にインデックスできてるかを確認。

確認コマンド
————————————————
show index from テーブル名
————————————————

タイトルとURLをコピーしました