2008-10-15 17 views
0

Je reçois cette erreur: -Erreur de syntaxe MySQL étrange

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de « ï» ¿à la ligne 1

chaque fois que j'ai essayé quelque chose comme ceci: -

mysql> source /home/user1/sql/ddl.sql 
mysql> source /home/user1/sql/insert.sql 
mysql> source /home/user1/sql/cleanup.sql 

La chose intresting est, cela se à chacun des scripts sql mais seule la première instruction est corrompue. Le reste des instructions du script fonctionnera correctement. J'ai travaillé autour de cela en mettant une déclaration factice dans chaque script.

Quelqu'un a déjà eu ce problème? Je suis complètement perplexe et la vérification de Google n'a pas encore aidé. Merci d'avance.

Répondre

6

Une possibilité est que les fichiers SQL ont été écrits en Unicode avec un BOM, que mysql ne peut pas interpréter.

Cela expliquerait les symptômes.

Une solution consiste à les ouvrir dans un éditeur décent et à les sauvegarder sans lui.

Exemple dans vim:

Force de retrait BOM

:set nobomb 

Enregistrer et quitter

:x! 
+0

Comment puis-je enregistrer correctement le fichier sans la nomenclature? J'ai essayé d'utiliser Visual Studio 2008, Notepad, SciTE et vim pour réenregistrer ces fichiers et ils donnent toujours la même erreur. – wai

2

Vos fichiers d'entrée peuvent contenir un Unicode BOM, ce qui est un peu de cruft que certains programmes tels que le Bloc-notes placent au début du fichier pour indiquer le format de fichier.