Articles
ERREUR 1064 (42000) Vous avez une erreur dans votre syntaxe SQL lors de limportation [duplicate]
On janvier 31, 2021 by admin Cette question a déjà des réponses ici :
Commentaires
- Afficher les codes de création de déclencheurs complets, pas seulement la première ligne dentre eux (la création entière de déclencheurs est UNE instruction). Et 3-4 lignes avant.
- Ajout du code de déclenchement complet
- Une restauration sur un même serveur de version ne devrait-elle pas fonctionner immédiatement?
- La mise en évidence de la syntaxe montre le problème – les commentaires multi-lignes imbriqués (le commentaire externe est utilisé pour le wrapping spécifique à la version, le commentaire interne en est un dans le code de création du déclencheur) qui rend le code cassé.
- Est-ce que cela répond à votre question? Comment résoudre ERREUR 1064 (42000)?
Réponse
La dernière ligne du déclencheur était à lorigine de mon problème. Ça devrait marcher. Voir le commentaire dAkina avec un exemple
END; */;;
Devrait être
END */;;
Commentaires
-
;
après que le bloc BEGIN-END soit ignoré (plus précisément traité comme une ligne vide). Le déclencheur avecEND
etEND;
a été créé avec succès. Exemple – les deux déclencheurs sont créés et exécutés avec succès. - Lorsque je supprime le; après la FIN dans mon cas, je nai plus derreurs lors de limportation. Cest également la seule différence avec dautres déclencheurs. Que pourrait-il se passer ici? Cela pourrait-il être un comportement étrange de la fonction dimportation?
- Dans votre exemple, le / *! 50003 CREATE * / / *! 50017 DEFINER = synthax nest pas non plus utilisé
- Peut-être que cest un problème de loutil que vous utilisez pour limportation, ou cela dépend (je doute) de la version? Dans votre exemple, le
/*!50003 CREATE*/
/*!50017 DEFINER=
synthax nest pas non plus utilisé Cest un code dépendant de la version – vous pouvez lire à ce sujet dans le manuel utilisateur. - Jutilise loutil Workbench. V8. MySql version 5.6.34
Laisser un commentaire