Om du har använt WordPress ett tag kan du ha bestämt dig för att gå in på mer avancerad databashantering. Detta innebär ofta att använda MySQL-kommandoraden, vilket i sin tur kan leda till förvirrande problem som MySQL 1064-felet.

Att lösa detta fel kan vara förvirrande först på grund av dess många potentiella orsaker, men dess lösningar tenderar att vara relativt enkla att genomföra. När du hittar orsaken till databasfelet du ser bör du kunna fixa det ganska snabbt.

I det här inlägget täcker vi de olika möjliga orsakerna till MySQL 1064-felet. Sedan kommer vi att dela lösningar för varje gemensam situation, för att hjälpa dig att få din databas och din webbplats tillbaka upp på fötter.

Nu sätter vi igång!

Varför MySQL 1064-felet Uppstår

MySQL 1064-felet är ett syntaxfel. Det betyder att anledningen till att det finns ett problem är att MySQL inte förstår vad du ber det att göra. Det finns dock många olika situationer som kan leda till denna typ av missförstånd mellan dig och din databas.

Den enklaste orsaken är att du har gjort ett misstag när du skrev in ett kommando och MySQL inte förstod din förfrågan. Alternativt kan du försöka använda föråldrade eller till och med borttagna kommandon som inte kan läsas.

I andra fall kan du ha försökt att inkludera ett ”reserverat ord” i ett av dina kommandon. Reserverade ord är termer som endast kan användas i specifika sammanhang i MySQL. Om du försöker använda dem på andra sätt får du ett fel.

Det är också möjligt att det saknas vissa data från din databas. När du gör en förfrågan via MySQL som refererar till data som inte är där det ska vara, får du också 1064-felet. Slutligen kan överföring av din WordPress-databas till en annan server också leda till samma problem.

Som du kan se finns det många potentiella orsaker till detta problem, vilket kan göra det svårt att lösa. Om du inte är i färd med att flytta din databas eller vidtar någon annan åtgärd som pekar mot en viss orsak, kommer du sannolikt att behöva prova några olika lösningar innan du hittar den rätta. Lyckligtvis är ingen av dem för svåra att utföra, som vi kommer se härnäst.

Så Fixar du MySQL 1064-felet (5 Metoder)

Om du redan har en uppfattning om vad som orsakar ditt MySQL 1064-fel kan du helt enkelt hoppa ner till lösningen för din specifika situation. Men om du inte är säker på varför felet har uppstått är den enklaste strategin att prova den enklaste lösningen först.

I så fall föreslår vi att du testar de fem mest sannolika fixarna i följande ordning.

1. Korrigera Felaktigt Skrivna Kommandon

Det bästa med MySQL-stavfel är att de är den enklaste förklaringen till syntaxproblem som 1064-felet. Tyvärr kan de också vara de mest tråkiga att korrigera. Generellt sett är ditt bästa alternativ att manuellt korrekturläsa din kod och leta efter eventuella misstag du kan ha gjort.

Vi föreslår att du använder MySQL-handboken som referens medan du gör det, och dubbelkollar allt du inte är säker på. Som du kanske kan tänka dig kan det här bli ganska tidskrävande, speciellt om du har arbetat i MySQL-kommandoraden ett tag eller om du är ny på den här uppgiften.

Ett alternativ till att manuellt kontrollera ditt arbete är att använda ett verktyg som EverSQL:

EverSQL syntaxkontroll
EverSQL syntaxkontroll

Med den här lösningen kan du helt enkelt mata in din MySQL för att kontrollera fel automatiskt. Men kom ihåg att dessa plattformar inte alltid är perfekta och du kanske fortfarande vill validera resultaten själv.

2. Ersätt Föråldrade Kommandon

När plattformar växer och förändras ersätts vissa kommandon som tidigare var användbara av mer effektiva sådana. MySQL är inget undantag. Om du arbetar med din databas efter en ny uppdatering eller har refererat till en föråldrad källa under ditt arbete är det möjligt att ett eller flera av dina kommandon inte längre är giltiga.

Du kan kontrollera om så är fallet med hjälp av MySQL Referenshandbok. Du hittar omnämnanden av kommandon som har blivit föråldrade genom varje MySQL-version i relevanta avsnitt:

Ta bort föråldrade kommandon manuellt
Ta bort föråldrade kommandon manuellt

När du har hittat vilket kommando som sannolikt orsakar problemet kan du helt enkelt använda funktionen ”Sök och ersätt” för att ta bort det föråldrade kommandot och lägga till den nya versionen. Om du till exempel använder storage_engine och upptäcker att det inte längre fungerar kan du helt enkelt ersätta alla instanser med det nya kommandot default_storage_engine.

3. Beteckna Reserverade Ord

I MySQL, kan att använda ett reserverat ord ur sitt sammanhang resultera i ett syntaxfel, eftersom det kommer att tolkas som felaktigt. Du kan dock fortfarande använda reserverade ord hur du vill genom att innehålla dem inom accent-tecken, så här: `select`

Varje version av MySQL har sina egna reserverade ord, som du kan läsa om i MySQL Referenshandbok. En snabb Sök och Ersätt bör göra det möjligt för dig att lösa problemet om du tror att det kan orsaka ditt 1064-fel.

4. Lägg till Saknade Data

Om din senaste MySQL-förfrågning försöker referera till information i en databas och inte kan hitta den, kommer du uppenbarligen att stöta på problem. I händelse av att ingen av de föregående lösningarna löser ditt MySQL 1064-fel, kan det vara dags att leta efter saknade data.

Tyvärr är detta en till lösning som kan vara ganska tråkig och måste göras för hand. Det bästa du kan göra i denna situation är att arbeta bakåt, med början i din senaste förfrågning. Kontrollera varje databas den hänvisar till, och se till att all rätt information är närvarande. Gå sedan vidare till näst senaste förfrågningen, tills du kommer till den som saknar vissa data.

5. Använda Kompatibilitetsläget för Att Överföra WordPressdatabaser

å vår lista. Men om du migrerar din WordPress-webbplats till en ny värd eller på annat sätt flyttar den till en annan server, måste du vidta extra åtgärder för att undvika att orsaka problem med din databas.

Den enklaste lösningen är att använda ett migreringsplugin som innehåller ett kompatibilitetsläge, såsom WP Migrate DB:

WP Migrate DB WordPress-plugin
WP Migrate DB WordPress-plugin

Detta kommer att möjliggöra en automatisk detekteringsfunktion som kommer att se till att din senaste webbplatssäkerhetskopiering och databas är kompatibla med flera versioner av MySQL. Du kan komma åt inställningen kompatibilitetsläge genom att navigera till Verktyg > Migrate DB > Avancerade alternativ:

WP Migrate DB inställningar
WP Migrate DB inställningar

Markera rutan bredvid Kompatibel med äldre versioner av MySQL innan du börjar din webbplatsmigrering. På så sätt bör du kunna undvika eventuella problem under processen.

Sammanfattning

Databasfel kan sätta käppar i hjulet för dina planer, och kan även äventyra din webbplats stabilitet. Att veta hur man löser problem som MySQL 1064-felet kan hjälpa dig att reagera snabbt och minimera driftstopp på din webbplats.

Det finns fem metoder du kan testa för att fixa MySQL 1064-felet när du stöter på det, beroende på dess mest sannolika orsak:

  1. Korrekta felaktigt skrivna kommandon.
  2. Ersätt föråldrade kommandon.
  3. Beteckna Reserverade ord
  4. Lägg till saknade data.
  5. Överför WordPressdatabaser i kompatibilitetsläge.