如果是这样,我该怎么做?
答案 0 :(得分:2)
执行预准备语句时,不会生成新的SQL。 准备语句的想法是SQL查询及其数据是单独传输的(这就是你不必转义任何参数的原因) - 查询很可能只是在准备之后才以优化的形式存储。
答案 1 :(得分:1)
当您创建预准备语句时,“模板”SQL代码已经发送到DBMS,它将其编译为表达式树。传递值时,相应的库(在您的情况下为python sqlite3模块)不会将值合并到语句中。 DBMS可以。
如果您仍想生成普通的SQL字符串,可以使用字符串替换函数用值替换占位符(在转义它们之后)。
你需要什么?