Перейти к содержимому

DROP INDEX

DROP INDEX удаляет определение индекса и его перестраиваемое хранилище.

DROP INDEX [IF EXISTS] index_name ON table_name

Контракт выполнения 1.2 требует секцию ON table, хотя парсер способен представить пропущенное имя таблицы. IF EXISTS подавляет ошибку отсутствующего индекса.

index_name идентифицирует индекс, а table_name фиксирует его таблицу-владельца.

Успех возвращает командный результат без строк. SHOW INDEXES подтверждает оставшиеся определения.

Удаление индекса транзакционно. ROLLBACK сохраняет прежний индекс видимым.

Отсутствие ON table_name отклоняется в версии 1.2. Ошибка возникает также при несовпадении таблицы, отсутствии индекса без IF EXISTS и попытке удалить неявную структуру первичного ключа.

Эффективный Principal должен владеть индексом; сессии также нужен CONNECT.

CREATE TABLE ref_drop_index (id INTEGER PRIMARY KEY, code TEXT);
CREATE INDEX ref_drop_code_idx ON ref_drop_index (code) USING BTREE;
DROP INDEX ref_drop_code_idx ON ref_drop_index;
SHOW INDEXES FROM ref_drop_index;

См. Индексы, CREATE INDEX и ALTER INDEX.