sql >> Database >  >> RDS >> Mysql

Probleem met MySQL FULLTEXT-indexen

U gebruikt het verkeerde type tabel. Mysql ondersteunt een paar verschillende soorten tabellen, maar de meest gebruikte zijn MyISAM en InnoDB. MyISAM (in MySQL 5.6+ook InnoDB-tabellen) zijn de typen van tabellen die Mysql ondersteunt voor full-text indexen.

Om het typeprobleem van uw tabel te controleren, gebruikt u de volgende sql-query:

SHOW TABLE STATUS

Kijk naar het resultaat van de zoekopdracht en zoek uw tabel en de bijbehorende waarde in de kolom Engine. Als deze waarde iets anders is dan MyISAM of InnoDB, dan zal Mysql een foutmelding geven als u FULLTEXT-indexen probeert toe te voegen.

Om dit te corrigeren, kunt u de onderstaande sql-query gebruiken om het type engine te wijzigen:

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

Aanvullende informatie (ik dacht dat het nuttig zou kunnen zijn):Mysql gebruikt verschillende typen engine-opslag om te optimaliseren voor de benodigde functionaliteit van specifieke tabellen. Voorbeeld MyISAM is het standaardtype voor besturingssystemen (naast windows), voert SELECT's en INSERT's snel uit; maar handelt geen transacties af. InnoDB is de standaard voor Windows, kan worden gebruikt voor transacties. Maar InnoDB vereist wel meer schijfruimte op de server.



  1. cx_Oracle maakt geen verbinding bij gebruik van SID in plaats van servicenaam op verbindingsreeks

  2. SELECTEER MySQL-rijen waarbij de datum van vandaag tussen twee DATE-kolommen ligt

  3. Begrip van opnieuw uitvoeren van loggroep versus bestand versus lid

  4. Hoe werken PostgreSQL security_barrier views?