2012-11-13 44 views
3

我在我的数据库中有一个junction/many to many表。这个表格有2列形成一个复合主键; userid & groupid。如何同步以前删除的行

我遇到了一个问题,一旦一行被删除,它永远不能重新添加和再次同步。例如:

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

我在猜测范围知识保留了这样一个事实,即该行一旦被删除并且不会同步对其进行更改?这种理解是否正确?无论如何要清除这些知识?

回答

0

如果任何关键列有IDENTITY属性集,那么您不能简单地在这样的列中插入值。你应该明智地使用这个属性 - 它的想法确保密钥不会重复。

因此,如果您确实需要将值插入IDENTITY列,请使用SET IDENTITY_INSERT MyTable ON/OFF。数据库中只有一个表可以将此属性设置为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