日期:2014-05-16  浏览次数:20816 次

如何MySql添加全文索引
到 3.23.23 时,MySQL 开始支持全文索引和搜索。全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM(INNODB不支持) 表. 在 CHAR、VARCHAR 或 TEXT 列上创建。

CREATE FULLTEXT INDEX 索引名字 ON 表名(列名...)

比如:
CREATE TABLE topic(title VARCHAR(60) NOT NULL,context TEXT,author VARCHAR(10))
CREATE FULLTEXT INDEX TEXT_INDEX ON topic(title,content,author);


如果创建FULLTEXT 索引报错:
   ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes
这是由Mysql的默认引擎为INNODB引起的,修改my.ini中[mysql] 下的

    default-storage-engine=INNODB
    改成
    default-storage-engine=MyISAM

然后重启Mysql服务

注意,此时修改的默认引擎,只对以后创建的表有效。如果你之前创建了表,则那个表仍然是由INNODB创建的, 还是不能支持FULLTEXT索引。 此时需要重新在MyISAM下创建该表