sqlite3_bind_text 若要将文本参数绑定到我的查询,请使用 SQLITE_STATIC
sqlite3_bind_text
SQLITE_STATIC
最近我做了一些更改,以便查询在事务模式下执行(在单个事务中有许多这样的查询)。在事务完成之前,文本缓冲区是否应保持有效?
SQLITE_TRANSIENT 旗帜?
SQLITE_TRANSIENT
是的,如果您使用的是SQLITE_STATIC,那么您应该在事务完成之前保留内容。更重要的是,在将参数重新绑定到其他对象或释放语句之前,应该将内容单独保留。
SQLITE_TRANSIENT请求SQLITE制作一个字符串的内部副本,它将对其进行适当的管理。根据你的描述,这可能是你应该使用的。否则,必须为每个语句管理自己的每个字符串副本。