Подтвердить что ты не робот

Как удалить этот индекс в MySQL?

Он создан таким образом:

create table listings(
    id integer unsigned NOT NULL AUTO_INCREMENT,
    accountId  integer unsigned default null,
    title varchar(300) not null,
    country integer unsigned,
    region integer unsigned,
    type integer unsigned,
    price integer,
    unit varchar(20) not null,
    priceUSD decimal(12,2),
    bedrooms integer unsigned,
    thumbnail varchar(100) default null,
    keywords text,
    created datetime,
    deleted boolean default 0,
    fulltext index (keywords),
    PRIMARY KEY (id)
) engine=MyISAM;

Как удалить этот полнотекстовый индекс, который не имеет имени?

Что делать, если неименованный индекс: fulltext index (title ,keywords)?

4b9b3361

Ответ 1

Запустите эту команду в клиенте mysql:

mysql> SHOW CREATE TABLE listings;

Он покажет вам DDL для таблицы, включая имя, присвоенное системой для индекса.

Ответ 2

ALTER TABLE listings DROP INDEX keywords;

Ответ 3

ALTER TABLE {your_table_name} DROP INDEX {your_index_name}

ИЛИ ЖЕ

DROP INDEX {your_index_name} ON {your_tbl_name}

Ответ 4

Вы также можете получить информацию об индексе таблицы, используя синтаксис SHOW INDEX.

SHOW INDEX FROM listings;

Кроме того, если вы не предоставите имя для индекса, MySQL автоматически предоставит имя для индекса на основе индексируемых столбцов.

Для fulltext index (keywords) MySQL, скорее всего, назовет индексные keywords.

Для fulltext index (title ,keywords) MySQL, скорее всего, назовет title индекса.

Я говорю "скорее всего", потому что, если уже есть индекс с именем keywords или title, MySQL назовет его как-то иначе.