2

#1283 - Column 'title' cannot be part of FULLTEXT index当我尝试在我的数据库中包含我想通过 FULLTEXT 更改的列时 出现错误。

ALTER TABLE users ADD FULLTEXT (`firstname`, `lastname`, `title`, `description`)

我不明白为什么会显示此错误或如何解决此问题。将不胜感激任何想法或提示。

4

4 回答 4

4

FULLTEXTindex 仅适用于MyISAM表,不适用于InnoDB. 您可以通过键入以下内容来检查您使用的存储引擎:

SHOW CREATE TABLE users;

然后,您可以使用此命令ALTER在表中使用引擎:MyISAM

ALTER TABLE users ENGINE = MyISAM;
于 2012-11-09T03:37:21.890 回答
3

从 Mysql 5.6 开始,INNODB 现在支持 FULLTEXT INDEX。现在,我在将 FULLTEXT 添加到我的表时也遇到了这个问题,并遇到了多个问题。

  1. 您需要确保将 ibdata1 文件设置为自动扩展。http://dev.mysql.com/doc/refman/5.0/en/innodb-data-log-reconfiguration.html

  2. 我的磁盘空间快用完了。当 mysql 更改表时,mysql 使用 tmp 数据和内存来执行此操作。您需要确保 cnf 文件中的 tmp 目录指向一个有足够空间的目录。此外,由于它使用内存,它将使用您的虚拟内存。这意味着您的操作系统驱动器需要有足够的空间。如果这不是一个选项,请创建一个 tmp 重复 tmp 表并使用全文更改该表并正确插入 INSERT INTO tableSELECT * FROM og_table

于 2013-05-02T04:08:42.743 回答
0

如果您的表是InnoDB,那么您不能使用它。并且需要放下它。

也可以参考 InnoDB 的限制@http: //dev.mysql.com/doc/refman/5.5/en/innodb-restrictions.html

于 2012-11-09T03:30:14.237 回答
0

INNODB 从 Mysql 5.6 开始支持 FULLTEXT INDEX

为避免错误“列 * 不能成为 FULLTEXT 索引的一部分”,请检查列的 TEXT INCODING ;) 它必须相同。

于 2017-04-01T13:04:43.680 回答