developer tip

# 1214-사용 된 테이블 유형이 FULLTEXT 인덱스를 지원하지 않습니다.

copycodes 2020. 11. 11. 20:18
반응형

# 1214-사용 된 테이블 유형이 FULLTEXT 인덱스를 지원하지 않습니다.


테이블 유형이 FULLTEXT 인덱스를 지원하지 않는다는 오류가 발생합니다. 이것을 어떻게 할 수 있습니까?

여기 내 테이블이 있습니다.

CREATE TABLE gamemech_chat (
  id bigint(20) unsigned NOT NULL auto_increment,
  from_userid varchar(50) NOT NULL default '0',
  to_userid varchar(50) NOT NULL default '0',
  text text NOT NULL,
  systemtext text NOT NULL,
  timestamp datetime NOT NULL default '0000-00-00 00:00:00',
  chatroom bigint(20) NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY from_userid (from_userid),
  FULLTEXT KEY from_userid_2 (from_userid),
  KEY chatroom (chatroom),
  KEY timestamp (timestamp)
)  ;

*


MySQL 5.6 이전에는 전체 텍스트 검색이 MyISAM 엔진 에서만 지원 됩니다 .

따라서 테이블의 엔진을 MyISAM으로 변경하십시오.

CREATE TABLE gamemech_chat (
  id bigint(20) unsigned NOT NULL auto_increment,
  from_userid varchar(50) NOT NULL default '0',
  to_userid varchar(50) NOT NULL default '0',
  text text NOT NULL,
  systemtext text NOT NULL,
  timestamp datetime NOT NULL default '0000-00-00 00:00:00',
  chatroom bigint(20) NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY from_userid (from_userid),
  FULLTEXT KEY from_userid_2 (from_userid),
  KEY chatroom (chatroom),
  KEY timestamp (timestamp)
) ENGINE=MyISAM;

다음은 SQLFiddle 데모입니다.

또는 5.6으로 업그레이드하고 InnoDB 전체 텍스트 검색을 사용하십시오.


잘못된 테이블 유형으로 인해 문제가 발생했습니다. MyISAM은 Mysql이 전체 ​​텍스트 인덱스에 대해 지원하는 유일한 테이블 유형입니다.

이 오류를 수정하려면 다음 SQL을 실행하십시오.

 CREATE TABLE gamemech_chat (
  id bigint(20) unsigned NOT NULL auto_increment,
  from_userid varchar(50) NOT NULL default '0',
  to_userid varchar(50) NOT NULL default '0',
  text text NOT NULL,
  systemtext text NOT NULL,
  timestamp datetime NOT NULL default '0000-00-00 00:00:00',
  chatroom bigint(20) NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY from_userid (from_userid),
  FULLTEXT KEY from_userid_2 (from_userid),
  KEY chatroom (chatroom),
  KEY timestamp (timestamp)
) ENGINE=MyISAM;

여기 에서 볼 수 있듯이 MyISAM만이 FULLTEXT를 허용합니다 .

이 시도:

CREATE TABLE gamemech_chat (
  id bigint(20) unsigned NOT NULL auto_increment,
  from_userid varchar(50) NOT NULL default '0',
  to_userid varchar(50) NOT NULL default '0',
  text text NOT NULL,
  systemtext text NOT NULL,
  timestamp datetime NOT NULL default '0000-00-00 00:00:00',
  chatroom bigint(20) NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY from_userid (from_userid),
  FULLTEXT KEY from_userid_2 (from_userid),
  KEY chatroom (chatroom),
  KEY timestamp (timestamp)
) ENGINE=MyISAM;

다음을 수행하십시오.

  1. 메모장 또는 메모장 ++로 .sql 파일 열기

  2. InnoDB를 찾고 모두 (약 87 개) MyISAM으로 교체

  3. Save and now you can import your database with out error.


*************Resolved - #1214 - The used table type doesn't support FULLTEXT indexes***************

Its Very Simple to resolve this issue. People are answering here in very difficult words which are not easily understandable by the people who are not technical.

So i am mentioning here steps in very simple words will resolve your issue.

1.) Open your .sql file with Notepad by right clicking on file>Edit Or Simply open a Notepad file and drag and drop the file on Notepad and the file will be opened. (Note: Please don't change the extention .sql of file as its still your sql database. Also to keep a copy of your sql file to save yourself from any mishappening)

2.) Click on Notepad Menu Edit > Replace (A Window will be pop us with Find What & Replace With Fields)

3.) In Find What Field Enter ENGINE=InnoDB & In Replace With Field Enter ENGINE=MyISAM

4.) Now Click on Replace All Button

5.) Click CTRL+S or File>Save

6.) Now Upload This File and I am Sure your issue will be resolved....

참고URL : https://stackoverflow.com/questions/20964269/1214-the-used-table-type-doesnt-support-fulltext-indexes

반응형