1

我正在使用 SQL Server 2012,并且我想创建一个“更改”表 - 当第二个表列值发生更改时,它将使用来自其他表的数据填充。

我正在向“更改”表中添加“datatime2”和“rowversion”列,以便跟踪何时进行更改。

可以使用“rowversion”作为主键吗?

我在这里读到,如果当前行已更新,它将被更改,这就是为什么它不是“主键”使外键无效的好候选者。

无论如何,如果它不会用作外键并且“更改”表的行将永远不会被更新(只会插入新行)是可以使用“rowversion”作为PK还是我应该使用附加列?

4

1 回答 1

0

这里有一些很好的信息:

仔细阅读 MSDN 页面还表明,如果 SELECT INTO 语句使用不当,可能会出现重复的 rowversion 值。有什么要注意的。

我会坚持使用原始数据中的 Identity 字段,并将其转移到具有自己的 Identity 字段的更改跟踪表中。

于 2013-10-28T01:49:16.330 回答