小巧. 快速. 可靠.
三选二.

会话模块 C 接口

将模式添加到变更组

int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*, const char *zDb);

此方法可用于选择性地强制执行规则,该规则规定添加到变更组句柄的变更集必须与数据库 zDb(“main”、“temp”或附加数据库的名称)的模式匹配。如果调用 sqlite3changegroup_add() 添加与配置的模式不兼容的变更集,则返回 SQLITE_SCHEMA,并且变更组对象将处于未定义状态。

变更集模式以与 sqlite3changeset_apply() 相同的方式被认为与数据库模式兼容。具体来说,对于变更集中的每个表,都存在一个数据库表,其中

变更组对象的输出始终与使用此函数指定的数据库具有相同的模式。在将传递给 sqlite3changegroup_add() 的变更集的列数少于数据库模式中对应表的列数的情况下,这些列将使用数据库模式中的默认列值填充。这使得能够将变更集组合在一起,这些变更集在变更组中对单个表具有不同数量的列,前提是它们是其他方面兼容的。

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