Se você tem usado o WordPress por um tempo, você pode ter decidido entrar em um gerenciamento de banco de dados mais avançado. Isso geralmente envolve o uso da linha de comando MySQL, que pode, por sua vez, levar a problemas confusos, como erros do MySQL 1064.

Felizmente, embora a resolução deste erro possa ser confusa no início devido às suas muitas causas potenciais, as suas soluções tendem a ser relativamente simples. Uma vez que você determinar a razão por trás do erro de banco de dados que você está vendo, você deve ser capaz de corrigi-lo bastante rapidamente.

Neste post, vamos cobrir as várias causas possíveis do erro do MySQL 1064. Em seguida, compartilharemos soluções para cada situação comum, para ajudá-lo a ter seu banco de dados e seu site em funcionamento.

Vamos começar!

Por que o erro MySQL 1064 ocorre

O erro MySQL 1064 é um erro de sintaxe. Isto significa que a razão pela qual existe um problema é porque o MySQL não compreende o que lhe está a pedir para fazer. No entanto, existem muitas situações diferentes que podem levar a este tipo de falha de comunicação entre o usuário e o banco de dados.

A causa mais simples é que você cometeu um erro ao digitar um comando e o MySQL não consegue entender o seu pedido. Alternativamente, você pode estar tentando usar comandos desatualizados ou mesmo obsoletos que não podem ser lidos.

Em outros casos, você pode ter tentado incluir uma ‘palavra reservada’ em um de seus comandos. Palavras reservadas são termos que só podem ser usados em contextos específicos no MySQL. Se você tentar usá-los de outras maneiras, você será confrontado com um erro.

Também é possível que faltem alguns dados na sua base de dados. Quando você faz uma solicitação via MySQL que referencia dados que não estão onde deveriam estar, você também verá o erro 1064. Finalmente, a transferência do banco de dados do WordPress para outro servidor também pode levar ao mesmo problema.

Como podem ver, existem muitas causas potenciais para este problema, que podem tornar a sua resolução difícil. A menos que você esteja no processo de mover seu banco de dados ou tomar alguma outra ação que aponte para uma causa específica, você provavelmente precisará tentar algumas soluções diferentes antes de pousar no caminho certo. Felizmente, nenhum deles é muito difícil de executar, como veremos a seguir.

Como corrigir o erro MySQL 1064 (5 métodos)

Se você já tem uma idéia do que está causando seu erro MySQL 1064, você pode simplesmente pular para a resolução de sua situação específica. No entanto, se você não tem certeza por que o erro ocorreu, a estratégia mais simples é tentar a solução mais fácil primeiro.

Nesse caso, sugerimos testar as cinco reparações mais prováveis na seguinte ordem.

1. Comandos incorretamente datilografados corretos

A coisa boa sobre o MySQL typos é que eles são a explicação mais simples para problemas de sintaxe, como o erro 1064. Infelizmente, eles também podem ser os mais tediosos de corrigir. De um modo geral, a sua melhor opção é rever manualmente o seu código e procurar por quaisquer erros que possa ter cometido.

Sugerimos usar o Manual do MySQL como uma referência enquanto você faz isso, verificando duas vezes qualquer coisa que você não tem certeza. Como você pode imaginar, isso pode ficar muito demorado, especialmente se você estiver trabalhando na linha de comando do MySQL por um tempo ou se você é novo para esta tarefa.

Uma alternativa à verificação manual do seu trabalho é empregar uma ferramenta como o EverSQL:

Verificador de sintaxe EverSQL
Verificador de sintaxe EverSQL

Com esta solução, pode simplesmente introduzir o seu MySQL para verificar se existem erros automaticamente. No entanto, tenha em mente que essas plataformas nem sempre são perfeitas e você ainda pode querer validar os resultados por si mesmo.

2. Substituir Comandos Obsoletos

À medida que as plataformas crescem e mudam, alguns comandos que eram úteis no passado são substituídos por outros mais eficientes. O MySQL não é excepção. Se você estiver trabalhando em seu banco de dados após uma atualização recente ou tiver referenciado uma fonte desatualizada durante seu trabalho, é possível que um ou mais de seus comandos não sejam mais válidos.

Você pode verificar se este é o caso usando o Manual de Referência do MySQL. Você encontrará menções de comandos que foram tornados obsoletos por cada versão do MySQL nas seções relevantes:

Remoção manual de comandos obsoletos
Remoção manual de comandos obsoletos

Uma vez que você tenha determinado qual comando está provavelmente causando o problema, você pode simplesmente usar a função ‘find and replace’ para remover o comando obsoleto e adicionar a nova versão. Por exemplo, se você estiver usando o storage_storage_engine e achar que ele não funciona mais, você pode simplesmente substituir todas as instâncias pelo novo comando default_storage_engine.

3. Designar palavras reservadas

No MySQL, usar uma palavra reservada fora de contexto resultará em um erro de sintaxe, pois será interpretado como incorreto. No entanto, você ainda pode usar palavras reservadas, no entanto, você por favor, contendo-as dentro de backticks, como este: `select`

Cada versão do MySQL tem suas próprias palavras reservadas, que você pode ler no Manual de Referência do MySQL. Um rápido encontrar e substituir deve permitir-lhe resolver este problema se você acha que ele pode estar causando seu erro 1064.

4. Adicionar dados em falta

Se a sua última consulta MySQL tenta referenciar informações em um banco de dados e não consegue encontrá-las, você obviamente vai ter problemas. No caso de nenhuma das soluções anteriores resolver o seu erro MySQL 1064, pode ser hora de ir à procura de dados em falta.

Infelizmente, esta é outra solução que pode ser bastante enfadonha e que tem de ser feita à mão. A melhor coisa que você pode fazer nesta situação é trabalhar para trás, começando com sua consulta mais recente. Confira cada banco de dados a que se refere, e certifique-se de que todas as informações corretas estejam presentes. Em seguida, vá para a próxima consulta mais recente, até chegar à que está faltando alguns dados.

5. Use o modo de compatibilidade para transferir bancos de dados WordPress

Esta solução de erro final 1064 não é tão simples como as outras em nossa lista. No entanto, se você estiver migrando seu site do WordPress para um novo host ou movendo-o para um servidor diferente, você precisará tomar medidas extras para evitar causar problemas com seu banco de dados.

A solução mais simples é usar um plugin de migração que inclua um modo de compatibilidade, como o WP Migrate DB:

WP Migrate DB WordPress plugin
WP Migrate DB WordPress plugin

Isto irá ativar uma funcionalidade de detecção automática que irá assegurar que o seu último backup do site e base de dados são compatíveis com múltiplas versões do MySQL. Você pode acessar a configuração do modo de compatibilidade navegando em Ferramentas > Migrar banco de dados > Opções avançadas:

WP Migrate DB configurações
WP Migrate DB configurações

Marque a caixa ao lado de Compatível com versões mais antigas do MySQL antes de iniciar a migração do seu site. Desta forma, você deve ser capaz de evitar qualquer problema durante o processo.

Resumo

Erros no banco de dados podem lançar uma chave inglesa em seus planos, e podem até comprometer a estabilidade do seu site. Saber como resolver problemas como o erro MySQL 1064 pode ajudá-lo a reagir rapidamente e minimizar o tempo de inatividade no seu site.

Existem cinco métodos que você pode tentar corrigir o erro MySQL 1064 quando você encontrá-lo, dependendo de sua causa mais provável:

  1. Comandos incorretos corretos.
  2. Substituir comandos obsoletos.
  3. Designar palavras reservadas.
  4. Adicionar dados em falta.
  5. Transferir bases de dados WordPress em modo de compatibilidade.