【发布时间】:2014-08-06 11:17:08
【问题描述】:
我想将数据从一个表导入到另一个表中,但收到此错误消息
插入只读列失败
我找到了this,但在Edit Mapping 中找不到任何“忽略”。
我启用了Enabled Identity Insert。
现在我收到此错误消息。
尝试插入行版本列“ts”。无法插入行版本列。
我使用的是 SQL Server 2008。
谢谢
【问题讨论】:
-
哪一栏报错了?它实际上是您的身份列吗?任何列都可以设置为只读。也许您的时间戳是自动生成的?如果您使用的是 SQL Server,您可以尝试在表上运行 sp_help 以了解其设置方式。
-
不,它不是标识列,它只是时间戳列
-
您不能更新时间戳列(从 2012 年开始称为 rowversion)。当任何其他列更新时,它会自动更新。您必须插入不包括 TS 的数据,它会自行填充。
-
@nnmmss 那么我猜你有答案了吗?您可以尝试将列设为 r/w,但由于我假设您没有设置架构,因此您可能不应该这样做。 edit 实际上你可能可以跳过插入该列,因为它会自动更新。如果您担心出错,请获取该表的临时副本,然后尝试对它进行查询,看看会发生什么。
标签: sql sql-server-2008