2011-12-06 11 views
7

wykonam: sqlite3 -init mydata.sql mydb z następujących jako jedynej linii w mydata.sql:Błąd składni podczas ładowania z pliku

DROP TABLE IF EXISTS [Album]; 

pojawia się następujący błąd:

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

Mam stopniała plik wejściowy praktycznie nic i zawsze otrzymuję ten komunikat o błędzie składni bez względu na polecenie, które wprowadzam i zawsze na linii 1. Wygląda na to, że myśli o niezwykłej postaci, ale mogę zobaczyć, co to może być. jakieś pomysły?

+1

Jak zapisujesz plik? Jakie jest kodowanie? –

+3

BOM z Unicode, czy przypadkiem? – tripleee

+0

@tripleee Dobra rozmowa. Mój skrypt SQL był w UTF-8 i nie pojawiły się żadne niespodziewane niedrukowalne znaki (patrz odpowiedź trudna), ale wciąż otrzymywałem błąd, dopóki nie zmieniłem kodowania na UTF-8 bez znaku kolejności bajtów. – spaaarky21

Odpowiedz

5

Jeśli używasz Notepad ++ lub innego podobnego edytora tekstu, włącz wyświetlanie wszystkich symboli.

W Notepad ++, view-> pokaż Symbol-> Pokaż wszystkie znaki

Sprawdź również kodowanie tego pliku (Menu-> Kodowanie). Możesz chcieć wymusić zmianę kodowania na ANSI/UTF-8 (Menu-> Kodowanie-> Konwertuj na ANSI).

1

Miałem ten sam błąd z bazą Chinook i SQLite wersji 3.19.3, więc otworzyłem plik SQL (Chinook_Sqlite_AutoIncrementPKs.sql) z Sublime Text i zapisać go jak UTF-8 (w celu wyeliminowania wskaźnik BOM).

Powiązane problemy