2009-12-31 81 views
32

它创造了这样:如何在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)

回答

27

运行此命令,在mysql客户端:

mysql> SHOW CREATE TABLE listings; 

它会告诉你的DDL表,包括索引的系统分配的名称。在

+0

哦,我刚刚删除了那个索引,所以我看不到结果... – user198729 2009-12-31 07:39:16

+0

使用test数据库并用全文索引创建一个新的空表,以便您可以观察'show create table'如何显示索引和约束的系统分配名称。 – 2009-12-31 18:00:39

60
ALTER TABLE listings DROP INDEX keywords; 
+0

为什么它的工作原理?我没有为'keywords' – user198729 2009-12-31 07:35:12

+1

是它像 全文键'keywords'指定其名称( '关键字') – 2009-12-31 07:39:41

6

ALTER TABLE your_table_name DROP INDEX your_index_name OR

DROP INDEX your_index_name your_tbl_name