gpt4 book ai didi

sql - 更改数据库行的主键值

转载 作者:行者123 更新时间:2023-12-02 07:27:48 24 4
gpt4 key购买 nike

我正在使用 SQL Server Management Studio,我想使用不同的值更改表行的自动增量主键值。当然,打开表进行编辑后,SQL Server Management Studio 会将所有行的该字段显示为灰色。

这可能吗?我想使用我们错误删除的行号,因此它是有效的(与其他主键值没有冲突)并且 - 最重要的是 - 在数据库中添加的下一行应该具有完整的自动递增值。

谢谢。

编辑:丢失与此 PK 上其他表记录的链接对于该行来说不是问题。我们可以手动恢复。

最佳答案

不一定推荐,但请在要更改数字的行中插入一个副本,但要包含所需的 ID:

SET IDENTITY_INSERT aTable ON
GO

-- Attempt to insert an explicit ID value of 3
INSERT INTO aTable (id, product) VALUES(3, 'blah')
GO

SET IDENTITY_INSERT aTable OFF
GO

然后删除包含您不需要的编号的行(在更新任何 FK 引用后)。

更多详细信息请参见:http://technet.microsoft.com/en-us/library/aa259221(v=sql.80).aspx

<小时/>

为了方便后代,为了澄清下面评论中的问题,只有当您插入大于当前最大值的值时,自动增量值才会受到影响。

引用链接文章:

If the value inserted is larger than the current identity value for the table, SQL Server automatically uses the new inserted value as the current identity value.

关于sql - 更改数据库行的主键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18888973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com