小巧、快速、可靠。
三选二。

会话模块 C 接口

冲突处理程序返回的常量

#define SQLITE_CHANGESET_OMIT       0
#define SQLITE_CHANGESET_REPLACE    1
#define SQLITE_CHANGESET_ABORT      2

冲突处理程序回调必须返回以下三个值之一。

SQLITE_CHANGESET_OMIT
如果冲突处理程序返回此值,则不采取任何特殊操作。导致冲突的更改不会应用。会话模块继续处理更改集中的下一个更改。

SQLITE_CHANGESET_REPLACE
仅当冲突处理程序的第二个参数为 SQLITE_CHANGESET_DATA 或 SQLITE_CHANGESET_CONFLICT 时,才能返回此值。如果不是这种情况,则回滚迄今为止应用的所有更改,并且对 sqlite3changeset_apply() 的调用返回 SQLITE_MISUSE。

如果 SQLITE_CHANGESET_DATA 冲突处理程序返回 CHANGESET_REPLACE,则冲突行将更新或删除,具体取决于更改类型。

如果 SQLITE_CHANGESET_CONFLICT 冲突处理程序返回 CHANGESET_REPLACE,则冲突行将从数据库中删除,并再次尝试应用更改。如果第二次尝试失败,则在继续之前将原始行恢复到数据库。

SQLITE_CHANGESET_ABORT
如果返回此值,则回滚迄今为止应用的所有更改,并且对 sqlite3changeset_apply() 的调用返回 SQLITE_ABORT。

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