当前位置: 首页 > 知识库问答 >
问题:

如何更新SQL Server中的标识列?

充浩波
2023-03-14

更改或重置此栏目的最佳方法是什么?

共有1个答案

陈铭晨
2023-03-14

不能更新标识列。

SQL Server不允许更新identity列,这与您可以使用update语句对其他列进行的操作不同。

但也有一些替代方案来实现类似的要求。

    null
DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
    null
SET IDENTITY_INSERT YourTable {ON|OFF}
-- Set Identity insert on so that value can be inserted into this column
SET IDENTITY_INSERT YourTable ON
GO
-- Insert the record which you want to update with new value in the identity column
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old row of which you have inserted a copy (above) (make sure about FK's)
DELETE FROM YourTable WHERE ID=3
GO
--Now set the idenetity_insert OFF to back to the previous track
SET IDENTITY_INSERT YourTable OFF
 类似资料:
  • 我还在尝试将我的应用程序从WSO2IS-5.2.0迁移到WSOIS-5.3.0。我的应用程序是一个管理用户的rest api,我称之为wso2is soap WebServices。 在5.3.0中,我似乎不能用webservice修改identity/AccountLocked或identity/FailedLoginAttempts等标识声明 tid:1[2017-01-19 10:42:26

  • 问题内容: 我正在react.js中处理单个页面应用程序,那么在页面转换或浏览器后退/前进时更新元标记的最佳方法是什么? 问题答案: 我在一个较旧的项目中使用了react-document-meta。 只需定义您的元值 并放置一个 在回报

  • 我能够通过Azure function managed identity使用下面的URI读取keyvault机密。 @Microsoft. KeyVault(https://myvault.vault.azure.net/secrets/mysecret/) 我提供了获取和设置机密访问FA托管身份使用Keyvault访问策略。 如何利用托管身份更新keyvault中的秘密。我正在使用visual

  • 问题内容: 我要插入具有自动递增键字段的SQLServer表。(我相信这在SQLServer中称为IDENTITY列。) 在Oracle中,我可以使用RETURNING关键字为INSERT语句提供一个类似于SELECT查询的结果集,该结果集将返回生成的值: 如何在SQLServer中完成此操作? 奖励 :好的,到目前为止,很好的答案,但是,如果可能的话,如何将其放入单个语句中?:) 问题答案: 通

  • 在DB2中,这可以通过下面的查询来完成,但我在HSQLDB中找不到实现这一点的方法 下面是我能看到的表SYSTEM_COLUMNS的列,我无法确定其中哪一个将表明它是一个标识列 类型_SUB 输入你的名字 表_方案 TABLE_NAME TABLE_CAT SQL_DATETIME_SUB SQL_数据_类型 SOURCE_DATA_TYPE 范围表 范围和模式 示波器 备注 序数位置 基数 可数

  • 是否有一种方法可以在不更改秘密标识符的情况下更改密钥库的秘密值?我在azure portal中尝试了new version按钮,但秘密标识符改变了。 谢了,亚当。