2008-10-15 114 views
0

我得到这个错误: -奇怪的MySQL语法错误

你的SQL语法错误;检查对应于你的MySQL服务器版本正确的语法,每当我想是这样的,在1号线

附近“我»¿使用手册: -

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

的intresting的是,这种情况发生到每一个sql脚本,但只有第一条语句被破坏。脚本中的其余部分将运行良好。我已经通过在每个脚本中添加虚拟语句来解决这个问题。

之前有人有过这个问题吗?我完全陷入困境,检查谷歌还没有帮助。提前致谢。

回答

6

一种可能性是SQL文件是用Unicode编写的,BOM,这是mysql无法解释的。

这将解释症状。

一个解决方案是在一个像样的编辑器中打开它们,并在没有它的情况下将它们保存下来。

实例VIM:

力BOM去除

:set nobomb 

保存并退出

:x! 
+0

如何正确保存该文件没有BOM?我曾尝试使用Visual Studio 2008,记事本,SciTE和vim来重新保存这些文件,但它们仍然会出现相同的错误。 – wai 2008-10-15 08:43:48

2

您的输入文件可能包含Unicode BOM,这有点残酷,某些程序(如记事本)放置在文件的开头以指示文件格式。