2011-12-06 33 views
7

tôi thực hiện: sqlite3 -init mydata.sql mydb với những điều sau như dòng chỉ trong mydata.sql:Cú pháp lỗi khi tải từ tập tin

DROP TABLE IF EXISTS [Album]; 

tôi nhận được lỗi sau:

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

tôi đã đẽo các đầu vào tập tin để hầu như không có gì và tôi luôn luôn nhận được thông báo lỗi cú pháp này không có vấn đề gì lệnh tôi nhập và luôn luôn trên dòng 1. Có vẻ như nó nghĩ rằng có một số nhân vật khác thường nhưng tôi có thể xem những gì nó có thể được. Có suy nghĩ gì không?

+1

Bạn lưu tệp như thế nào? Mã hóa là gì? –

+3

Unicode BOM, cơ hội nào? – tripleee

+0

@tripleee Cuộc gọi tốt. Kịch bản lệnh SQL của tôi là UTF-8 và không có ký tự không in được bất ngờ nào được hiển thị (xem câu trả lời của khắc nghiệt) nhưng tôi vẫn gặp lỗi cho đến khi tôi thay đổi mã hóa thành UTF-8 mà không có dấu thứ tự byte. – spaaarky21

Trả lời

5

Nếu bạn sử dụng Notepad ++ hoặc trình soạn thảo văn bản tương tự khác, hãy bật hiển thị tất cả ký hiệu.

Trong Notepad ++, View-> hiển thị symbol-> Show All nhân vật

Ngoài ra kiểm tra Encoding của tập tin này (Menu-> Encoding). Bạn có thể muốn thay đổi mã hóa thành ANSI/UTF-8 (Menu-> Encoding-> Convert to ANSI).

1

tôi đã có lỗi tương tự với cơ sở dữ liệu ChinookSQLite phiên bản 3.19.3, vì vậy tôi đã mở các tập tin SQL (Chinook_Sqlite_AutoIncrementPKs.sql) với Sublime Text và lưu nó như UTF-8 (để loại bỏ các chỉ số BOM).

Các vấn đề liên quan