Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Problem mit MySQL FULLTEXT-Indizes

Sie verwenden den falschen Tabellentyp. MySQL unterstützt einige verschiedene Arten von Tabellen, aber die am häufigsten verwendeten sind MyISAM und InnoDB. MyISAM (in MySQL 5.6+ auch InnoDB-Tabellen) sind die Typen von Tabellen, die Mysql für Volltextindizes unterstützt.

Um den Typ Ihrer Tabelle zu überprüfen, führen Sie die folgende SQL-Abfrage aus:

SHOW TABLE STATUS

Wenn Sie sich das von der Abfrage zurückgegebene Ergebnis ansehen, finden Sie Ihre Tabelle und den entsprechenden Wert in der Spalte Engine. Wenn dieser Wert etwas anderes als MyISAM oder InnoDB ist, wird Mysql einen Fehler ausgeben, wenn Sie versuchen, FULLTEXT-Indizes hinzuzufügen.

Um dies zu korrigieren, können Sie die folgende SQL-Abfrage verwenden, um den Engine-Typ zu ändern:

ALTER TABLE <table name> ENGINE = [MYISAM | INNODB]

Zusätzliche Informationen (für nützlich gehalten):Mysql verwendet verschiedene Engine-Speichertypen, um die erforderliche Funktionalität bestimmter Tabellen zu optimieren. Beispiel MyISAM ist der Standardtyp für Betriebssysteme (außer Windows), führt SELECTs und INSERTs schnell durch; wickelt aber keine Transaktionen ab. InnoDB ist der Standard für Windows, kann für Transaktionen verwendet werden. Aber InnoDB benötigt mehr Speicherplatz auf dem Server.