1

IDENTITY在我的 SQL Server 表中使用列。

我有一个单元测试,我在其中删除具有特定 ID 的数据记录。

当我插入测试数据时,我得到了这个异常:

当 IDENTITY_INSERT 设置为 OFF 时,无法在表“MyTablename”中插入标识列的显式值

然后我在我的管理工作室做一个快速测试:

SET IDENTITY_INSERT MyTablename ON

它说Command(s) completed successfully.

我重新运行单元测试,但仍然得到相同的错误。

一般来说,我该怎么做?我希望我的包含所有表的单元测试数据库应该允许我为标识列手动插入一个值。

4

1 回答 1

3

SET IDENTITY_INSERT是特定于会话的。您不能在 SSMS 中将其设置为 true,然后在其他设备中运行单元测试。该SET命令需要是单元测试代码的一部分。

此外,您一次只能将此设置设置为一个表,因此您的单元测试似乎不会很好地工作,除非您根据需要设置每个表。

于 2012-02-22T22:19:31.510 回答