{"id":33619,"date":"2019-11-08T04:30:10","date_gmt":"2019-11-08T12:30:10","guid":{"rendered":"https:\/\/kinsta.com\/?post_type=knowledgebase&p=57332"},"modified":"2023-08-22T15:43:08","modified_gmt":"2023-08-22T14:43:08","slug":"erreur-mysql-1064","status":"publish","type":"knowledgebase","link":"https:\/\/kinsta.com\/fr\/base-de-connaissances\/erreur-mysql-1064\/","title":{"rendered":"Comment R\u00e9parer l\u2019erreur MySQL 1064 (5 M\u00e9thodes)"},"content":{"rendered":"

Si vous utilisez WordPress<\/a> depuis un certain temps, vous avez peut-\u00eatre d\u00e9cid\u00e9 de passer \u00e0 une gestion de base de donn\u00e9es plus avanc\u00e9e. Ceci implique souvent l’utilisation de la ligne de commande MySQL<\/a>, ce qui peut, \u00e0 son tour, conduire \u00e0 des probl\u00e8mes confus tels que des erreurs MySQL 1064.<\/p>\n

Heureusement, bien que la r\u00e9solution de cette erreur puisse pr\u00eater \u00e0 confusion au d\u00e9but en raison de ses nombreuses causes potentielles, ses solutions ont tendance \u00e0 \u00eatre relativement simples. Une fois que vous aurez d\u00e9termin\u00e9 la raison de l’erreur de base de donn\u00e9es que vous voyez, vous devriez \u00eatre en mesure de la corriger assez rapidement.<\/p>\n

Dans cet article, nous allons couvrir les diff\u00e9rentes causes possibles de l’erreur MySQL 1064. Ensuite, nous partagerons des solutions pour chaque situation commune, afin de vous aider \u00e0 remettre votre base de donn\u00e9es<\/a> et votre site en \u00e9tat de fonctionnement.<\/p>\n

Commen\u00e7ons tout de suite !<\/p>\n

<\/div><\/kinsta-auto-toc>\n

Pourquoi l’erreur MySQL 1064 se Produit<\/h2>\n

L’erreur MySQL 1064 est une erreur de syntaxe. Cela signifie qu’il y a un probl\u00e8me parce que MySQL ne comprend pas ce que vous lui demandez de faire. Cependant, il existe de nombreuses situations diff\u00e9rentes qui peuvent conduire \u00e0 ce type de mauvaise communication entre vous et votre base de donn\u00e9es.<\/p>\n

La cause la plus simple est que vous avez fait une erreur en tapant une commande et MySQL ne peut pas comprendre votre requ\u00eate. Alternativement, vous pouvez essayer d’utiliser des commandes obsol\u00e8tes ou m\u00eame obsol\u00e8tes qui ne peuvent pas \u00eatre lues.<\/p>\n

Dans d’autres cas, vous avez peut-\u00eatre tent\u00e9 d’inclure un \u00ab\u00a0mot r\u00e9serv\u00e9\u00a0\u00bb<\/a> dans l’une de vos commandes. Les mots r\u00e9serv\u00e9s sont des termes qui ne peuvent \u00eatre utilis\u00e9s que dans des contextes sp\u00e9cifiques dans MySQL. Si vous essayez de les utiliser d’une autre mani\u00e8re, vous serez confront\u00e9 \u00e0 une erreur.<\/p>\n

Il est \u00e9galement possible qu’il manque des donn\u00e9es dans votre base de donn\u00e9es. Lorsque vous faites une requ\u00eate via MySQL qui fait r\u00e9f\u00e9rence \u00e0 des donn\u00e9es qui ne sont pas l\u00e0 o\u00f9 elles devraient \u00eatre, vous verrez aussi l’erreur 1064. Enfin, le transfert de votre base de donn\u00e9es WordPress<\/a> vers un autre serveur peut \u00e9galement entra\u00eener le m\u00eame probl\u00e8me.<\/p>\n

Comme vous pouvez le constater, les causes potentielles de ce probl\u00e8me sont nombreuses, ce qui peut le rendre difficile \u00e0 r\u00e9soudre. \u00c0 moins que vous ne soyez en train de d\u00e9placer votre base de donn\u00e9es ou de prendre d’autres mesures qui pointent vers une cause pr\u00e9cise, vous aurez probablement besoin d’essayer diff\u00e9rentes solutions avant d’arriver sur la bonne. Heureusement, aucune d’entre elles n’est trop difficile \u00e0 ex\u00e9cuter, comme nous le verrons plus loin.<\/p>\n\n

Comment R\u00e9parer l\u2019erreur MySQL 1064 (5 M\u00e9thodes)<\/h2>\n

Si vous avez d\u00e9j\u00e0 une id\u00e9e de ce qui cause votre erreur MySQL 1064, vous pouvez simplement passer \u00e0 la r\u00e9solution correspondant \u00e0 votre situation sp\u00e9cifique. Cependant, si vous n’\u00eates pas s\u00fbr de la raison de l’erreur, la strat\u00e9gie la plus simple consiste \u00e0 essayer d’abord la solution la plus simple.<\/p>\n

Dans ce cas, nous vous sugg\u00e9rons de tester les cinq correctifs les plus probables dans l’ordre suivant.<\/p>\n

1. Corriger les Commandes Mal Entr\u00e9es<\/h3>\n

L’avantage des fautes de frappe MySQL est qu’elles sont l’explication la plus simple aux probl\u00e8mes de syntaxe tels que l’erreur 1064. Malheureusement, elles peuvent aussi \u00eatre les plus fastidieuses \u00e0 corriger. D’une mani\u00e8re g\u00e9n\u00e9rale, votre meilleure option est de relire manuellement votre code et de rechercher les erreurs que vous avez pu commettre.<\/p>\n

Nous vous sugg\u00e9rons d’utiliser le manuel MySQL<\/a> comme r\u00e9f\u00e9rence pendant que vous le faites, en v\u00e9rifiant tout ce dont vous n’\u00eates pas s\u00fbr. Comme vous pouvez l’imaginer, cela peut prendre beaucoup de temps, surtout si vous n\u2019avez pas travaill\u00e9 dans la ligne de commande MySQL depuis un certain temps ou si vous \u00eates nouveau dans cette t\u00e2che.<\/p>\n

Une alternative \u00e0 la v\u00e9rification manuelle de votre travail est d’utiliser un outil tel qu’EverSQL<\/a> :<\/p>\n

\"V\u00e9rificateur
V\u00e9rificateur de syntaxe EverSQL<\/figcaption><\/figure>\n

Avec cette solution, vous pouvez simplement entrer votre commande MySQL pour v\u00e9rifier automatiquement les erreurs. Cependant, gardez \u00e0 l’esprit que ces plateformes ne sont pas toujours parfaites et que vous devrez peut-\u00eatre quand m\u00eame valider les r\u00e9sultats vous-m\u00eame.<\/p>\n

2. Remplacer les Commandes Obsol\u00e8tes<\/h3>\n

Au fur et \u00e0 mesure que les plateformes se d\u00e9veloppent et changent, certaines commandes qui \u00e9taient utiles dans le pass\u00e9 sont remplac\u00e9es par des commandes plus efficaces. MySQL ne fait pas exception. Si vous travaillez sur votre base de donn\u00e9es<\/a> suite \u00e0 une mise \u00e0 jour r\u00e9cente ou si vous avez r\u00e9f\u00e9renc\u00e9 une source obsol\u00e8te pendant votre travail, il est possible qu’une ou plusieurs de vos commandes ne soient plus valables.<\/p>\n

Vous pouvez v\u00e9rifier si c’est le cas en utilisant le manuel de r\u00e9f\u00e9rence MySQL<\/a>. Vous trouverez les mentions des commandes qui ont \u00e9t\u00e9 rendues obsol\u00e8tes par chaque version de MySQL dans les sections correspondantes :<\/p>\n

\"Suppression
Suppression manuelle des commandes obsol\u00e8tes<\/figcaption><\/figure>\n

Une fois que vous avez d\u00e9termin\u00e9 quelle commande est susceptible de causer le probl\u00e8me, vous pouvez simplement utiliser la fonction ‘find and replace’ pour supprimer la commande obsol\u00e8te et ajouter la nouvelle version. Par exemple, si vous utilisiez storage_engine<\/code> et que vous constatez que cela ne fonctionne plus, vous pourriez simplement remplacer toutes les instances par la nouvelle commande default_storage_engine<\/code>.<\/p>\n

3. D\u00e9signer les Mots R\u00e9serv\u00e9s<\/h3>\n

Dans MySQL, l’utilisation d’un mot r\u00e9serv\u00e9 hors contexte entra\u00eenera une erreur de syntaxe, car cela sera interpr\u00e9t\u00e9 comme incorrect. Cependant, vous pouvez toujours utiliser les mots r\u00e9serv\u00e9s comme bon vous semble en les contenant dans des backticks, comme ceci : `select<\/code>`<\/p>\n

Chaque version de MySQL a ses propres mots r\u00e9serv\u00e9s<\/a>, que vous pouvez lire dans le manuel de r\u00e9f\u00e9rence MySQL. Une recherche et un remplacement rapides devraient vous permettre de r\u00e9soudre ce probl\u00e8me si vous pensez que cela peut causer votre erreur 1064.<\/p>\n

4. Ajouter les Donn\u00e9es Manquantes<\/h3>\n

Si votre derni\u00e8re requ\u00eate MySQL tente de r\u00e9f\u00e9rencer des informations dans une base de donn\u00e9es<\/a> et ne les trouve pas, vous allez \u00e9videmment rencontrer des probl\u00e8mes. Dans le cas o\u00f9 aucune des solutions pr\u00e9c\u00e9dentes ne r\u00e9sout votre erreur MySQL 1064, il peut \u00eatre temps d’aller chercher les donn\u00e9es manquantes.<\/p>\n

Malheureusement, c’est une autre solution qui peut \u00eatre assez fastidieuse et qui doit \u00eatre faite \u00e0 la main. La meilleure chose que vous puissiez faire dans cette situation est de remonter en arri\u00e8re, en commen\u00e7ant par votre requ\u00eate la plus r\u00e9cente. V\u00e9rifiez chaque base de donn\u00e9es \u00e0 laquelle elle fait r\u00e9f\u00e9rence et assurez-vous que toutes les informations correctes sont pr\u00e9sentes. Passez ensuite \u00e0 la requ\u00eate la plus r\u00e9cente, jusqu’\u00e0 ce que vous arriviez \u00e0 celle qui manque de donn\u00e9es.<\/p>\n

5. Utilisez le Mode Compatibilit\u00e9 pour Transf\u00e9rer des Bases de Donn\u00e9es WordPress<\/h3>\n

Cette solution d’erreur 1064 finale n’est pas aussi simple que les autres sur notre liste. Cependant, si vous migrez votre site WordPress vers un nouvel h\u00e9bergeur ou si vous le d\u00e9placez vers un autre serveur, vous devrez prendre des mesures suppl\u00e9mentaires pour \u00e9viter de causer des probl\u00e8mes avec votre base de donn\u00e9es.<\/p>\n

La solution la plus simple est d’utiliser un plugin de migration qui inclut un mode de compatibilit\u00e9, tel que WP Migrate DB<\/a> :<\/p>\n

\"Plugin
Plugin WordPress WP Migrate DB<\/figcaption><\/figure>\n

Ceci activera une fonction d’auto-d\u00e9tection qui s’assurera que la derni\u00e8re sauvegarde de votre site et de votre base de donn\u00e9es sont compatibles avec plusieurs versions de MySQL. Vous pouvez acc\u00e9der au param\u00e8tre du mode de compatibilit\u00e9 en naviguant dans Outils > Migrate DB > Options avanc\u00e9es :<\/em><\/p>\n

\"Migrer
Migrer les param\u00e8tres de la base de donn\u00e9es<\/figcaption><\/figure>\n

Cochez la case Compatible avec les anciennes versions de MySQL<\/em> avant de commencer la migration de votre site. De cette fa\u00e7on, vous devriez \u00eatre en mesure d’\u00e9viter tout probl\u00e8me pendant le processus.<\/p>\n