我有一个包含逗号的索引的表(其中有一堆)
....
FULLTEXT KEY `description` (`description`),
FULLTEXT KEY `description,title` (`description`,`title`), -- <-- HERE
FULLTEXT KEY `content` (`content`),
FULLTEXT KEY `content,title` (`content`,`title`)
) ENGINE=MyISAM AUTO_INCREMENT=150296 DEFAULT CHARSET=utf8
我正在迁移到 InnoDB + sphinx,所以想要删除所有 FULLTEXT 索引,这些被证明是一个问题。
引号:
DROP INDEX 'content,title' ON `table`
ALTER TABLE `table` DROP INDEX 'content,title'
反引号: DROP INDEX content,title
ON table
ALTER TABLE table
DROP INDEXcontent,title
转义:ALTER TABLE articles
DROP INDEXdescription\,title
各种形式的转义,也尝试过使用带野生字符的 LIKE。
实际错误:Can't DROP 'description,title'; check that column/key exists
@代码鸟
SELECT * FROM information_schema.STATISTICS WHERE TABLE_NAME='articles' AND TABLE_SCHEMA='test' AND INDEX_NAME LIKE 'descri%'\G
*************************** 1. row ***************************
TABLE_CATALOG: NULL
TABLE_SCHEMA: test
TABLE_NAME: articles
NON_UNIQUE: 1
INDEX_SCHEMA: test
INDEX_NAME: description,title
SEQ_IN_INDEX: 1
COLUMN_NAME: description
COLLATION: NULL
CARDINALITY: NULL
SUB_PART: NULL
PACKED: NULL
NULLABLE: YES
INDEX_TYPE: FULLTEXT
COMMENT:
*************************** 2. row ***************************
TABLE_CATALOG: NULL
TABLE_SCHEMA: test
TABLE_NAME: articles
NON_UNIQUE: 1
INDEX_SCHEMA: test
INDEX_NAME: description,title
SEQ_IN_INDEX: 2
COLUMN_NAME: title
COLLATION: NULL
CARDINALITY: NULL
SUB_PART: NULL
PACKED: NULL
NULLABLE: YES
INDEX_TYPE: FULLTEXT
COMMENT:
2 rows in set (0.00 sec)