web-dev-qa-db-fra.com

Comment supprimer cet index dans MySQL?

Il est créé de cette façon:

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;

Comment supprimer cet index fulltext qui n'a pas de nom?

Que faire si l'index non nommé est: fulltext index (title ,keywords)?

44
user198729

Exécutez cette commande dans le client mysql:

mysql> SHOW CREATE TABLE listings;

Il vous montrera le DDL de la table, y compris le nom attribué par le système pour l'index.

34
Bill Karwin
ALTER TABLE listings DROP INDEX keywords;
80
Haim Evgi

ALTER TABLE {your_table_name} DROP INDEX {your_index_name}

OR

DROP INDEX {your_index_name} ON {your_tbl_name}

23
Yagnesh bhalala

Vous pouvez également obtenir des informations d'index de table en utilisant la syntaxe SHOW INDEX .

SHOW INDEX FROM listings;

De plus, lorsque vous ne fournissez pas de nom pour l'index, MySQL fournira automatiquement un nom pour l'index en fonction des colonnes indexées.

Pour fulltext index (keywords), MySQL nommera très probablement l'index keywords.

Pour fulltext index (title ,keywords), MySQL nommera très probablement l'index title.

Je dis "très probablement" car s'il existe déjà un index nommé keywords ou title, MySQL le nommera autrement.

0
kimbaudi