【发布时间】:2012-06-12 17:07:04
【问题描述】:
我们在 SQL Compact 3.5 中执行大型数据块的表到表复制。为了避免身份约束的问题,我们在复制之前使用SET IDENTITY_INSERT table ON,之后使用SET IDENTITY_INSERT table OFF。
因为它是described on 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 Compact 中插入后,有什么方法可以更新标识种子?
【问题讨论】:
-
您在 IDENTITY 之前缺少一个空格... ProjectID 列是否已经是一个标识列?
-
@ErikEJ 这只是missin空间的错字,是的,该列已经是一个标识列,这正是问题所在。
-
您运行的是 3.5 SP2(文件版本 3.5.8080 或更高版本)吗?
-
@ErikEJ 不,我们正在运行 3.5.1.0。升级会有帮助吗?
-
3.5.1.0 不是文件版本。它是程序集版本。在 Windows 资源管理器中检查文件版本、文件属性
标签: sql-server-ce primary-key identity unique-constraint