2008-10-15 126 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,這有點殘酷,某些程序(如記事本)放置在文件的開頭以指示文件格式。