如何在 SQL azure 中更新标识列?是否可以?

2024-02-26

我有这个代码:

ALTER TABLE FishSticks
ADD MyNewIdentityColumnId INT IDENTITY(1,1) NOT NULL

SET IDENTITY_INSERT FishSticks ON

UPDATE FishSticks 
SET MyNewIdentityColumnId = MyOldColumnId

然而它说:

无法更新标识列“MyNewIdentityColumnId”。

我认为这是由于 SQL Azure,但我在谷歌搜索上没有取得太大成功。看来,在保留数据的同时将列更改为标识是一个巨大的困难。


Answer recommended by Microsoft Azure /collectives/azure Collective

SET IDENTITY_INSERT 仅适用于 INSERTS,并且该错误并非特定于 SQL Azure。在 SQL Server/Express 上你会得到同样的错误

要解决此问题,请将 SET IDENTITY_INSERT 设置为 ON,重新插入要用新值替换其标识值的现有行中的所有列值,设置 IDENTITY_INSERT OFF,然后删除上一行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SQL azure 中更新标识列?是否可以? 的相关文章

随机推荐