0

当我尝试在数据库中的 phpmyadmin 中创建新表时遇到问题。代码是:

DROP TABLE IF EXISTS phpcrawler_links;
CREATE TABLE phpcrawler_links (
  id           int(11) NOT NULL auto_increment,
  site_id      int(11) NOT NULL default 0,
  depth        int(11) NOT NULL default 0,
  url          text NOT NULL,
  url_title    text,
  url_md5      varchar(255) NOT NULL,

  content      text NOT NULL,
  content_md5  varchar(255) NOT NULL,

  last_crawled datetime,
  crawl_now    int(11) NOT NULL default 1,

  PRIMARY KEY (id),
  KEY idx_site_id(site_id),
  KEY idx_url (url(255)),
  KEY idx_content_md5(content_md5),
  FULLTEXT ft_content(content),
  KEY idx_last_crawled(last_crawled)
);

DROP TABLE IF EXISTS words;
CREATE TABLE words (
  id     int(11) NOT NULL,
  word   varchar(255) NOT NULL
);

问题似乎出在这一行:

last_crawled datetime,

我得到的错误是:

#1214 - 使用的表类型不支持 FULLTEXT 索引

如果有人可以帮助我解决这个问题,我会很高兴的!

4

3 回答 3

0

谷歌规则!只有 MyISAM 表支持全文索引。 http://forums.mysql.com/read.php?107,194405,194677

于 2012-04-16T20:00:22.697 回答
0

如果表是 Innodb,则无法向该数据库添加索引,必须将引擎更改为 MyISAM 或将数据类型更改为 int

于 2012-04-16T20:20:45.137 回答
0

似乎您使用的是旧版本的 MySQL,从 MySQL 5.6 开始,InnoDB 已经支持全文索引。

于 2017-12-12T10:27:46.930 回答