3

我的数据库中有一个联结/多对多表。该表有 2 列构成复合主键;用户标识和组标识。

我遇到了一个问题,一旦删除了一行,就永远无法重新添加和同步。例如:

  1. 用户 123 添加到组 456 更改同步,上传方向。行被添加到远程。
  2. 用户 123 从组 456 中删除(表元数据中的行墓碑和从基表中删除的行)
  3. 变化同步,上传方向。行在远程被删除
  4. 用户 123 被添加到组 456
  5. 变化同步,上传方向。行未插入远程。

我猜范围知识保留了该行曾经被删除而不同步更改的事实?这种理解正确吗?反正有没有清理这些知识?

4

1 回答 1

0

如果任何键列都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
于 2013-05-28T20:32:18.997 回答