2011-12-06 94 views
7

加載當我執行:sqlite3 -init mydata.sql mydb與出發,按照mydata.sql唯一行:語法錯誤從文件

DROP TABLE IF EXISTS [Album]; 

我得到以下錯誤:

Error: near line 1: near "DROP": syntax error

我削成輸入文件幾乎什麼也沒有,我總是得到這個語法錯誤消息,無論我輸入什麼命令,並始終在第1行。它看起來像認爲有一些不尋常的字符,但我可以看到它可能是什麼。有什麼想法嗎?

+1

如何保存文件?什麼是編碼? –

+3

Unicode BOM,有沒有機會? – tripleee

+0

@tripleee好的電話。我的SQL腳本使用UTF-8編碼,並且沒有意外的不可打印字符出現(請參閱苛刻的答案),但直到我將編碼更改爲不帶字節順序標記的UTF-8時,我仍然收到錯誤。 – spaaarky21

回答

5

如果您使用Notepad ++或其他類似的文本編輯器,請啓用顯示所有符號。

在記事本++,查看 - >顯示符號 - >顯示所有字符

還要檢查該文件(菜單 - >編碼)的編碼。您可能需要強制更改編碼爲ANSI/UTF-8(菜單 - >編碼 - >轉換爲ANSI)。

1

我有同樣的錯誤與Chinook數據庫和3.19.3版本SQLite,所以我Sublime Text打開SQL文件(Chinook_Sqlite_AutoIncrementPKs.sql)並保存它像UTF-8(消除BOM指標)。