最近我将一堆列更改为utf8_general_ci(默认的UTF-8排序规则),但在尝试更改特定列时,我收到了MySQL错误:
Column 'node_content' cannot be part of FULLTEXT index
在查看文档时,似乎MySQL在某些多字节字符集(例如UCS-2)上存在FULLTEXT索引问题,但它应该适用于UTF-8.
我正在使用最新稳定的MySQL 5.0.x版本(我相信5.0.77).
哎呀,所以我找到了问题的答案:
FULLTEXT索引的所有列不仅必须具有相同的字符集,还必须具有相同的排序规则.
我的FULLTEXT索引在其中一列上有utf8_unicode_ci,在其他列上有utf8_general_ci.
只是为了添加Thomas的好建议:要在PHPMyAdmin中解决问题,你必须在同一时间更改所有列的字符集.
只是浪费了半天,一次又一次地尝试更改列,并不断收到有关FULLTEXT索引的错误消息.