#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ #define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */ #define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */ #define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */ #define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */ #define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */ #define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011 /* int int* */ #define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012 /* int int* */ #define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */ #define SQLITE_DBCONFIG_DQS_DDL 1014 /* int int* */ #define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */ #define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT 1016 /* int int* */ #define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017 /* int int* */ #define SQLITE_DBCONFIG_STMT_SCANSTATUS 1018 /* int int* */ #define SQLITE_DBCONFIG_REVERSE_SCANORDER 1019 /* int int* */ #define SQLITE_DBCONFIG_MAX 1019 /* Largest DBCONFIG */
這些常數是可用的整數設定選項,可以作為第二個參數傳遞給 sqlite3_db_config() 介面。
在未來的 SQLite 版本中可能會新增設定選項。現有的設定選項可能會被停止使用。應用程式應檢查 sqlite3_db_config() 的回傳程式碼,以確保呼叫成功。如果呼叫了已停止使用或不支援的設定選項,sqlite3_db_config() 介面將會返回非零的 錯誤程式碼。
最初,此選項會停用所有觸發器。但是,自 SQLite 3.35.0 版起,即使此選項關閉,也仍然允許 TEMP 觸發器。換句話說,此選項現在僅停用主要資料庫綱要或附加資料庫綱要中的觸發器。
最初,這個選項會停用所有檢視表。然而,自 SQLite 3.35.0 版本以來,即使此選項關閉,TEMP 檢視表仍然允許使用。換句話說,此選項現在僅停用主資料庫綱要或附加資料庫綱要中的檢視表。
請注意,當 SQLITE_DBCONFIG_LEGACY_FILE_FORMAT 設定開啟時,VACUUM 命令在嘗試處理具有生成的欄位和降冪索引的表格時將會失敗,並顯示不明確的錯誤。這不被視為錯誤,因為 SQLite 3.3.0 版和更早版本不支援生成的欄位或降冪索引。