db2 是否有标识插入?
does db2 have identity insert on?
我有 table 身份,种子 1 自动递增 1。在那 table 我有主键 1,2,4,5 的行(缺少 3,我删除了它) ,现在我想在 table 中插入值,但 ID 为 3,但我无法在 db2 中找到它...
有什么帮助吗?提前致谢。
答案取决于列的定义方式。如果它是 GENERATED BY DEFAULT AS IDENTITY
,那么您可以简单地在 INSERT
语句中为其提供一个明确的值。如果该列是 GENERATED ALWAYS
,您可以暂时从您需要的值重新启动标识序列,执行插入,然后以最大值 + 1 再次重新启动它。后者仅在没有并发插入时才有效 activity 当然在 table 上。
说了这么多,我认为如果你真的需要一个无缝的身份序列,你不应该首先使用自动生成。
我有 table 身份,种子 1 自动递增 1。在那 table 我有主键 1,2,4,5 的行(缺少 3,我删除了它) ,现在我想在 table 中插入值,但 ID 为 3,但我无法在 db2 中找到它...
有什么帮助吗?提前致谢。
答案取决于列的定义方式。如果它是 GENERATED BY DEFAULT AS IDENTITY
,那么您可以简单地在 INSERT
语句中为其提供一个明确的值。如果该列是 GENERATED ALWAYS
,您可以暂时从您需要的值重新启动标识序列,执行插入,然后以最大值 + 1 再次重新启动它。后者仅在没有并发插入时才有效 activity 当然在 table 上。
说了这么多,我认为如果你真的需要一个无缝的身份序列,你不应该首先使用自动生成。