我使用 DB2,当我创建我的表时,我使用 GENERATED BY DEFAULT AS IDENTITY
作为主键。
当我在表上插入新行时,主键的生成值不是 ID 的最大值。
这正常吗?
生成的数量不是重复的,但不是最大值。
答案 0 :(得分:1)
这种行为是意料之中的。请参阅 CREATE TABLE statement 和 AS IDENTITY 选项。您可以设置一个起始值 (START WITH) 来告诉 Db2 从特定值开始计数。
数据库系统用于标识列的算法是有一个序列。他们从该序列中获取值。他们不会主动在现有数据中寻找可用值。