I wrote the database schema (only one table so far), and the INSERT statements for that table in one file. Then I created the database as follows:
$ 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
Line 16 of my file looks something like this:
INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
The problem is the escape character for a single quote. I also tried double escaping the single quote (using \\\'
instead of \'
), but that didn't work either. What am I doing wrong?
In C# you can use the following to replace the single quote with a double quote:
And the output will be:
And, if you are working with Sqlite directly; you can work with object instead of string and catch special things like DBNull:
I believe you'd want to escape by doubling the single quote:
for replace all (') in your string, use
example:
Try doubling up the single quotes (many databases expect it that way), so it would be :
Relevant quote from the documentation:
Just in case if you have a loop or a json string that need to insert in the database. Try to replace the string with a single quote . here is my solution. example if you have a string that contain's a single quote.
this works for me in c# and java