Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problème d'index MySQL FULLTEXT

Vous utilisez le mauvais type de table. Mysql prend en charge quelques types de tables différents, mais les plus couramment utilisés sont MyISAM et InnoDB. MyISAM (dans MySQL 5.6+ainsi que les tables InnoDB) sont les types de tables prises en charge par Mysql pour les index de texte intégral.

Pour vérifier le type de votre table, lancez la requête sql suivante :

SHOW TABLE STATUS

En regardant le résultat renvoyé par la requête, recherchez votre table et la valeur correspondante dans la colonne Engine. Si cette valeur est autre que MyISAM ou InnoDB, Mysql générera une erreur si vous essayez d'ajouter des index FULLTEXT.

Pour corriger cela, vous pouvez utiliser la requête sql ci-dessous pour changer le type de moteur :

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

Informations supplémentaires (pensées que cela pourrait être utile) :MySQL utilise différents types de stockage de moteur pour optimiser les fonctionnalités nécessaires de tables spécifiques. Exemple MyISAM est le type par défaut pour les systèmes d'exploitation (en plus de Windows), préforme rapidement les SELECT et les INSERT ; mais ne gère pas les transactions. InnoDB est la valeur par défaut pour Windows, peut être utilisé pour les transactions. Mais InnoDB nécessite plus d'espace disque sur le serveur.