sql >> Database teknologi >  >> RDS >> Mysql

MySQL FULLTEXT indekser problem

Du bruger den forkerte type tabel. Mysql understøtter et par forskellige typer tabeller, men de mest brugte er MyISAM og InnoDB. MyISAM (i MySQL 5.6+også InnoDB-tabeller) er typerne af tabeller, som Mysql understøtter til fuldtekstindekser.

For at kontrollere din tabels type udsted følgende sql-forespørgsel:

SHOW TABLE STATUS
 

Se på resultatet, der returneres af forespørgslen, og find din tabel og den tilsvarende værdi i kolonnen Engine. Hvis denne værdi er alt andet end MyISAM eller InnoDB, vil Mysql give en fejl, hvis du forsøger at tilføje FULLTEXT-indekser.

For at rette dette kan du bruge sql-forespørgslen nedenfor til at ændre motortypen:

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

Yderligere information (troede det kunne være nyttigt):Mysql bruger forskellige motorlagertyper for at optimere til den nødvendige funktionalitet af specifikke tabeller. Eksempel MyISAM er standardtypen for operativsystemer (udover windows), præformer SELECTs og INSERTs hurtigt; men håndterer ikke transaktioner. InnoDB er standard for Windows, kan bruges til transaktioner. Men InnoDB kræver mere diskplads på serveren.



  1. Flytning af eksisterende tabel fra primær filgruppe til en anden filgruppe

  2. tjek for duplikatindtastning vs brug PDO errorInfo resultat

  3. Hvornår/hvorfor skal man bruge Cascading i SQL Server?

  4. Venstre sammenføj med betingelse