冲突解决常量
¥Conflict resolution constants
以下常量之一可用作传递给 database.applyChangeset()
的 onConflict
冲突解决处理程序的参数。另请参阅 SQLite 文档中的 传递给冲突处理程序的常量。
¥One of the following constants is available as an argument to the onConflict
conflict resolution handler passed to database.applyChangeset()
. See also
Constants Passed To The Conflict Handler in the SQLite documentation.
常量 | 描述 |
---|---|
SQLITE_CHANGESET_DATA |
如果数据库中存在具有所需 PRIMARY KEY 字段的行,但更新修改的一个或多个其他(非主键)字段不包含预期的 "before" 值,则在处理 DELETE 或 UPDATE 更改时使用此常量调用冲突处理程序。 |
SQLITE_CHANGESET_NOTFOUND |
如果数据库中不存在具有所需 PRIMARY KEY 字段的行,则在处理 DELETE 或 UPDATE 更改时使用此常量调用冲突处理程序。 |
SQLITE_CHANGESET_CONFLICT |
如果操作会导致重复的主键值,则在处理 INSERT 更改时将此常量传递给冲突处理程序。 |
SQLITE_CHANGESET_CONSTRAINT |
如果启用了外键处理,并且应用变更集使数据库处于包含外键违规的状态,则在提交变更集之前,使用此常量调用冲突处理程序一次。如果冲突处理程序返回 SQLITE_CHANGESET_OMIT ,则提交更改(包括导致外键约束冲突的更改)。或者,如果它返回 SQLITE_CHANGESET_ABORT ,则回滚变更集。 |
SQLITE_CHANGESET_FOREIGN_KEY |
如果在应用更改时发生任何其他约束违规(即 UNIQUE、CHECK 或 NOT NULL 约束),则使用此常量调用冲突处理程序。 |
传递给 database.applyChangeset()
的 onConflict
冲突解决处理程序必须返回以下常量之一。另请参阅 SQLite 文档中的 从冲突处理程序返回的常量。
¥One of the following constants must be returned from the onConflict
conflict
resolution handler passed to database.applyChangeset()
. See also
Constants Returned From The Conflict Handler in the SQLite documentation.
常量 | 描述 |
---|---|
SQLITE_CHANGESET_OMIT |
冲突的更改将被忽略。 |
SQLITE_CHANGESET_REPLACE |
冲突的更改将替换现有值。请注意,只有当冲突类型为 SQLITE_CHANGESET_DATA 或 SQLITE_CHANGESET_CONFLICT 时,才能返回此值。 |
SQLITE_CHANGESET_ABORT |
当更改遇到冲突时中止并回滚数据库。 |