2009-03-17 11 views
7

最近、カラム数をutf8_general_ci(デフォルトのUTF-8照合)に変更しましたが、特定のカラムを変更しようとすると、ドキュメントを見てMySQLのエラー:「カラム 'columnname'はFULLTEXTインデックスの一部ではありません」

Column 'node_content' cannot be part of FULLTEXT index 

は、MySQLは、このようなUCS-2などの一部のマルチバイト文字セットのFULLTEXTインデックスに問題があることが表示されますが、それはUTF-8で動作する必要があること。

私は最新の安定版MySQL 5.0.xリリース(私は信じています)です。

答えて

26

おっと、私は私の問題への答えを発見した:

FULLTEXTインデックスのすべての列が同じ文字セットも同じ照合ないだけを持っている必要があります。

私のFULLTEXTインデックスは、その列の1つでutf8_unicode_ciを持ち、他の列でutf8_general_ciを持っていました。

4

Thomasの良いアドバイスに追加するだけで、PHPMyAdminで並べ替えるには、同じ時間にすべての列の文字セットを変更する必要があります。

一度に1つずつ列を変更し、FULLTEXT索引に関するエラーメッセージを連続的に取得することを何度も繰り返し試みています。

+0

phpMyAdminではなくMySQLの制限があると思います。同じALTERコマンドですべてを変更する必要があります。FULLTEXTインデックスで混合照合を使用できないためです。 "暫く"。 – thomasrutter

関連する問題