gpt4 book ai didi

sql-server - SQL Server 标识列插入失败

转载 作者:行者123 更新时间:2023-12-04 23:48:05 24 4
gpt4 key购买 nike

大家好,我有一个简单的问题:

当插入语句在标识列上失败时会发生什么?

是否可以这样说,例如,如果我插入一个带有标识列的行,该标识列将为 1,然后再次插入但失败并且不插入数据。然后尝试再次插入,该行的标识现在是 3?

任何建议将不胜感激。

谢谢。

最佳答案

要看数据插入失败的原因是什么。例如,如果值无效(错误类型),则标识值不会递增。但是,如果第一次插入成功,但随后被删除(由于事务失败并回滚),则标识值会增加。

-- Next identity value = 1
INSERT INTO Table1 (
field1)
VALUES ('a')

-- Next identity value = 2
BEGIN TRAN
INSERT INTO Table1 (
field1)
VALUES ('b')

-- Next identity value = 3
ROLLBACK TRAN

-- Next identity value = 3, although the insertion was removed.
INSERT INTO Table1 (
field1)
VALUES ('c')

-- Next identity value = 4

第一个插入的标识列值 = 1,第二个插入失败,第三个插入的标识列值 = 3。

关于sql-server - SQL Server 标识列插入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7977033/

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