我编写了数据库模式(至今只有一个表),以及该表中的INSERT语句在一个文件中。然后,我创建了数据库,如下所示:转义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
线16我的文件看起来是这样的:
INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
的问题是一个单引号的转义字符。我还尝试了双引号转义(使用\\\'
而不是\'
),但那也不起作用。我究竟做错了什么?
另外,还要考虑使用绑定参数,如果主机语言支持它们(大多数情况下,但SQLite shell不支持)。然后,SQL将被插入到表名(field1,field2)VALUES(?,?)`中,并且这些值将直接提供(并且没有替换)。 – 2013-05-20 12:48:14