sql >> Databasteknik >  >> RDS >> Mysql

MySQL FULLTEXT indexerar problem

Du använder fel typ av tabell. Mysql stöder några olika typer av tabeller, men de vanligaste är MyISAM och InnoDB. MyISAM (i MySQL 5.6+även InnoDB-tabeller) är typerna av tabeller som Mysql stöder för fulltextindex.

För att kontrollera din tabells typ, fråga följande sql-fråga:

SHOW TABLE STATUS

Titta på resultatet som returneras av frågan, hitta din tabell och motsvarande värde i kolumnen Engine. Om detta värde är något utom MyISAM eller InnoDB kommer Mysql att skicka ett felmeddelande om du försöker lägga till FULLTEXT-index.

För att rätta till detta kan du använda sql-frågan nedan för att ändra motortyp:

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

Ytterligare information (tänkte att det kunde vara användbart):Mysql använder olika motorlagringstyper för att optimera för den nödvändiga funktionaliteten i specifika tabeller. Exempel MyISAM är standardtypen för operativsystem (förutom windows), förformar SELECT och INSERT snabbt; men hanterar inte transaktioner. InnoDB är standard för Windows, kan användas för transaktioner. Men InnoDB kräver mer diskutrymme på servern.



  1. Hur frågar jag den här MySQL-tabellen på det mest effektiva sättet?

  2. Tre främsta trender som påverkar DBA:er Ansvariga för SQL Server-övervakning

  3. Echo menyträd med rekursiv funktion

  4. Infoga i flera tabeller i en fråga