MySQL错误:"列'列名'不能是FULLTEXT索引的一部分"

tho*_*ter 10 mysql full-text-search character-encoding

最近我将一堆列更改为utf8_general_ci(默认的UTF-8排序规则),但在尝试更改特定列时,我收到了MySQL错误:

Column 'node_content' cannot be part of FULLTEXT index
Run Code Online (Sandbox Code Playgroud)

在查看文档时,似乎MySQL在某些多字节字符集(例如UCS-2)上存在FULLTEXT索引问题,但它应该适用于UTF-8.

我正在使用最新稳定的MySQL 5.0.x版本(我相信5.0.77).

tho*_*ter 33

哎呀,所以我找到了问题的答案:

FULLTEXT索引的所有列不仅必须具有相同的字符集,还必须具有相同的排序规则.

我的FULLTEXT索引在其中一列上有utf8_unicode_ci,在其他列上有utf8_general_ci.


小智 5

只是为了添加Thomas的好建议:要在PHPMyAdmin中解决问题,你必须在同一时间更改所有列的字符集.

只是浪费了半天,一次又一次地尝试更改列,并不断收到有关FULLTEXT索引的错误消息.