小巧。快速。可靠。
三选一。

SQLite C 接口

准备标志

#define SQLITE_PREPARE_PERSISTENT              0x01
#define SQLITE_PREPARE_NORMALIZE               0x02
#define SQLITE_PREPARE_NO_VTAB                 0x04

这些常量定义了可以传递给 sqlite3_prepare_v3()sqlite3_prepare16_v3() 接口的 "prepFlags" 参数的各种标志。

SQLite 的未来版本可能会添加新的标志。

SQLITE_PREPARE_PERSISTENT
SQLITE_PREPARE_PERSISTENT 标志是给查询计划器的提示,表明准备好的语句将被保留很长时间,并且可能被重复使用很多次。如果没有此标志,sqlite3_prepare_v3()sqlite3_prepare16_v3() 会假设准备好的语句只会使用一次或最多几次,然后很快就会使用 sqlite3_finalize() 销毁。当前的实现通过避免使用 备用内存 来响应此提示,以避免耗尽有限的备用内存存储。SQLite 的未来版本可能会以不同的方式响应此提示。

SQLITE_PREPARE_NORMALIZE
SQLITE_PREPARE_NORMALIZE 标志是一个空操作。此标志过去需要用于任何想要使用 sqlite3_normalized_sql() 接口的准备好的语句。但是,sqlite3_normalized_sql() 接口现在可用于所有准备好的语句,无论它们是否使用此标志。

SQLITE_PREPARE_NO_VTAB
SQLITE_PREPARE_NO_VTAB 标志会导致 SQL 编译器在语句使用任何虚拟表时返回错误(错误代码 SQLITE_ERROR)。

另请参阅 对象常量函数 列表。