2009-03-17 4 views
7

최근에 열을 여러 열로 변경하여 utf8_general_ci (기본 UTF-8 정렬)하지만 특정 열을 변경하려고하면 MySQL 오류가 발생했습니다. 문서를 통해보고에서MySQL 오류 : "열 'columnname'은 FULLTEXT 인덱스의 일부가 될 수 없습니다.

Column 'node_content' cannot be part of FULLTEXT index 

, MySQL은 같은 UCS-2와 같은 일부 멀티 바이트 문자 집합에 대한 전체 텍스트 인덱스에 문제가 있음을 표시하지만, UTF-8에서 작동해야한다고.

저는 안정적인 최신 버전의 MySQL 5.0.x입니다 (5.0.77).

답변

26

아차, 그래서 나는 내 문제에 대한 답변을 발견 : 전체 텍스트 색인의

모든 열은 같은 문자뿐만 아니라 사용자가 설정 한뿐만 아니라 같은 정렬해야합니다.

내 FULLTEXT 색인은 열 중 하나에서 utf8_unicode_ci를 갖고 다른 열에서는 utf8_general_ci를가집니다.

4

Thomas의 좋은 충고에 덧붙이면 : PHPMyAdmin에서 항목을 정렬하려면 같은 시간에 모든 열에 대한 문자 집합을 변경해야합니다.

반세기 만에 열을 한 번에 하나씩 변경하고 FULLTEXT 색인에 대한 오류 메시지가 계속해서 반복적으로 표시됩니다.

+0

phpMyAdmin보다는 MySQL의 제한이 될 것이라고 생각합니다. FULLTEXT 인덱스에서 혼합 데이터 정렬을 사용할 수 없기 때문에 동일한 ALTER 명령으로 모든 데이터를 변경해야합니다. "잠깐". – thomasrutter