更新 SQL Compact 3.5 中 IDENTITY 列上的种子值



我们在 SQL Compact 3.5 中执行大型数据块的表到表复制。为了避免身份约束的问题,我们在复制之前使用SET IDENTITY_INSERT table ON,在复制之后使用SET IDENTITY_INSERT table OFF

正如MSDN上描述的那样,标识元信息,尤其是下一个标识号(AUTOINC_NEXT)在插入时不会由SQL Compact运行时更新。因此,在插入后,我们遇到了标识值与插入值冲突的问题。

我们尝试了 MSDN 上建议的方法,通过运行以下命令来增加标识种子:

ALTER TABLE Projects ALTER COLUMN ProjectID IDENTITY (200, 2);

但是我们收到以下错误消息:

The column cannot become an identity column after it is created. 

在 SQL 压缩中插入后,有没有办法更新身份种子?

问题是我们的错误假设,即标识列始终是表中的第一个。因此,出现错误消息是因为我们尝试将一列作为标识,而该列以前实际上不是标识列。

最新更新