MySQLでは、インデックスを変更することができ、その後、インデックスを変更する動作が可能、元のインデックスを削除することによって、必要と同じ名前のインデックスを作成します。
基本的な構文
インデックスが不要になったときは、インデックスを削除するには、DROP INDEXステートメントまたはALTER TABLE文を使用することはできません。
1)DROP INDEXステートメント
構文:
DROP INDEX <インデックス名> ON <テーブル名>
構文は次のとおりです。
<索引名>
:インデックス名を削除します。<表名>
:テーブルのインデックス名を指定します。
2)ALTER TABLE文を使用します
ステートメントは、インデックスを削除するために使用することができることをALTER TABLE文ショーの構文によります。具体的な使用は、ALTER TABLE文は次の句の一つである指定された構文の一部です。
- DROP PRIMARY KEY:テーブルを削除するには、メインキーを表します。テーブルには、1つのプライマリキーが主キーのインデックスである持っています。
- DROP INDEXはINDEX_NAME:INDEX_NAMEという名前のインデックスを削除するための手段を。
- DROP FOREIGN KEYはfk_symbol:外部キーを削除するための手段を。
注:列は、インデックスの不可欠な部分で削除ので、あなたが列を削除すると、列がインデックスから削除された場合は、すべての列が削除され、インデックスを構成する場合、インデックス全体が削除されます。
インデックスの削除
[実施例1] tb_stu_infoインデックステーブルを削除し、SQL文および入力を実行した結果を以下に示します。
MySQLの> DROP INDEXの高さ - > ON tb_stu_info。クエリOK、0行影響を受けた(0.27秒)レコード:0重複:0警告:0 mysqlの> SHOW TABLE tb_stu_infoGをCREATE ************************* ** 1行***************************表:表の作成tb_stu_info:TABLE `tb_stu_info`(` id` INT(11 CREATE )NOT NULL、 `NAME` CHAR(45)は、デフォルトのNULL、` dept_id` INT(11)は、デフォルトのNULL、 `age` INT(11)は、デフォルトのNULL、` height` INT(11)は、デフォルトのNULL)ENGINE = InnoDBのDEFAULT CHARSET =セット内のGB2312 1行(0.00秒)
[実施例2]実行結果を以下に示すテーブルID tb_stu_info2インデックス、SQL文、および入力の名前を削除します。
MySQLの> ALTER TABLEのtb_stu_info2 - > DROP INDEXの高さ。クエリOK、