SQLite3命令的转义字符(不带prepare) 我正在创建一个C++程序,它将输出一系列SQL语句(创建、插入等)并将它们写入文件。此文件将用于创建和填充SQLite3数据库

SQLite3命令的转义字符(不带prepare) 我正在创建一个C++程序,它将输出一系列SQL语句(创建、插入等)并将它们写入文件。此文件将用于创建和填充SQLite3数据库,sqlite,escaping,Sqlite,Escaping,我需要确保插入的和值被正确转义,以便它们可以放入双引号字符串(在insert语句中)。由于没有可用的SQLite数据库(此程序只写入文本文件),因此无法使用prepare。有人能告诉我哪些字符需要转义以及如何转义吗 到目前为止,我只发现‘字符需要用另一个字符转义’在字符串中,唯一要转义的字符是引号’本身 对于表/列名,如果它们与SQL关键字冲突,则需要对其进行转义。在字符串中,唯一要转义的字符是引号'本身 对于表/列名,如果它们与SQL关键字冲突,则需要对其进行检查。'是ansi SQL中唯一应

我需要确保插入的和值被正确转义,以便它们可以放入双引号字符串(在insert语句中)。由于没有可用的SQLite数据库(此程序只写入文本文件),因此无法使用prepare。有人能告诉我哪些字符需要转义以及如何转义吗


到目前为止,我只发现‘字符需要用另一个字符转义’

在字符串中,唯一要转义的字符是引号
本身


对于表/列名,如果它们与SQL关键字冲突,则需要对其进行转义。

在字符串中,唯一要转义的字符是引号
'
本身


对于表/列名,如果它们与SQL关键字冲突,则需要对其进行检查。

'
是ansi SQL中唯一应转义为
'
的符号,所有其他符号,如
或``是特定于rdbms的
是ansi sql中唯一应转义为
'
的符号,所有其他符号,如
或``都是特定于rdbms的