Tôi đã viết lược đồ cơ sở dữ liệu (chỉ một bảng cho đến nay) và các câu lệnh INSERT cho bảng đó trong một tệp. Sau đó, tôi đã tạo ra cơ sở dữ liệu như sau:Thoát ký tự trích dẫn đơn để sử dụng trong truy vấn SQLite
$ sqlite3 newdatabase.db
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> .read ./schema.sql
SQL error near line 16: near "s": syntax error
Dòng 16 của tập tin của tôi trông giống như sau:
INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
Vấn đề là các ký tự thoát cho một giá duy nhất. Tôi cũng đã cố gắng gấp đôi thoát khỏi báo giá duy nhất (sử dụng \\\'
thay vì \'
), nhưng điều đó không hoạt động. Tôi đang làm gì sai?
Ngoài ra, xem xét sử dụng ràng buộc các tham số nếu ngôn ngữ máy chủ hỗ trợ chúng (nhất là, nhưng trình bao SQLite thì không). SQL sau đó sẽ là 'INSERT INTO table_name (field1, field2) VALUES (?,?)' Và các giá trị sẽ được cung cấp trực tiếp (và không có thay thế). –