我的数据库中有一个联结/多对多表。该表有 2 列构成复合主键;用户标识和组标识。
我遇到了一个问题,一旦删除了一行,就永远无法重新添加和同步。例如:
- 用户 123 添加到组 456 更改同步,上传方向。行被添加到远程。
- 用户 123 从组 456 中删除(表元数据中的行墓碑和从基表中删除的行)
- 变化同步,上传方向。行在远程被删除
- 用户 123 被添加到组 456
- 变化同步,上传方向。行未插入远程。
我猜范围知识保留了该行曾经被删除而不同步更改的事实?这种理解正确吗?反正有没有清理这些知识?
我的数据库中有一个联结/多对多表。该表有 2 列构成复合主键;用户标识和组标识。
我遇到了一个问题,一旦删除了一行,就永远无法重新添加和同步。例如:
我猜范围知识保留了该行曾经被删除而不同步更改的事实?这种理解正确吗?反正有没有清理这些知识?
如果任何键列都IDENTITY
设置了属性,那么您不能简单地在此类列中插入值。你应该明智地使用这个属性——它的想法是确保键永远不会重复。
因此,如果您确实需要将值插入IDENTITY
列中,请使用SET IDENTITY_INSERT MyTable ON/OFF
. db 中只有一个表可以将此属性设置为 ON。如果它关闭 - 发生错误。
CREATE TABLE MyTable (ID INT IDENTITY NOT NULL)
SET IDENTITY_INSERT MyTable ON/OFF
INSERT INTO MyTable VALUES (2)
SET IDENTITY_INSERT MyTable ON/OFF