Подтвердить что ты не робот

# 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)
)  ;

*

4b9b3361

Ответ 1

До MySQL 5.6 Полнотекстовый поиск поддерживается только с помощью MyISAM Engine.

Поэтому либо измените движок для вашей таблицы на 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.

Ответ 2

Проблема возникла из-за неправильного типа таблицы. 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;

Ответ 3

Только 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;

Ответ 4

Просто сделайте следующее:

  1. Откройте файл .sql с помощью Блокнота или Блокнота ++

  2. Найдите InnoDB и замените все (около 87) на MyISAM

  3. Сохраните, и теперь вы можете импортировать базу данных без ошибок.

Ответ 5

************* Разрешено - # 1214 - Используемый тип таблицы не поддерживает индексы FULLTEXT ***************

Его очень просто решить эту проблему. Люди отвечают здесь очень трудными словами, которые нелегко понять людям, которые не являются техническими.

Итак, я упоминаю здесь, шаги в простых словах помогут решить вашу проблему.

1.) Откройте файл .sql с помощью Блокнота, щелкнув правой кнопкой мыши по файлу > Изменить или Просто откройте файл "Блокнот" и перетащите файл в блокнот, и файл будет открыт. (Примечание: Пожалуйста, не изменяйте расширение .sql файла как его все еще свою базу данных sql. Также сохраните копию своего файла sql, чтобы спасти себя от любого нежелательного события)

2.) Нажмите "Меню" Блокнот "Редактирование" > "Заменить" (окно "Окно" откроет "Найти то, что и заменит полями" )

3.) В поле "Найти какое поле" введите ДВИГАТЕЛЬ = InnoDB и "Заменить с полем" Введите ДВИГАТЕЛЬ = MyISAM

4.) Теперь нажмите кнопку Заменить все

5.) Нажмите CTRL + S или Файл > Сохранить

6.) Теперь загрузите этот файл, и я уверен, что ваша проблема будет решена....