Skip to content

def_identity_mode

参数名称

def_identity_mode

参数解释

控制自增列(identity)的插入值填充模式,以兼容MySQL的自增列处理方式,支持连接会话级参数IDENTITY_MODE

def_identity_mode参数值对应IDENTITY_MODE参数值参数功能
0
  • DEFAULT
  • DEFAULT_IDENTITY_MODE
  • 未显式指定自增列的值,插入自增值
  • 显式指定自增列的值为NULL,报错
  • 显式指定自增列的值为非NULL数值,作为数据插入进表(自增列的值具有唯一值约束,多次插入相同值会报错违反唯一值约束)
  • 1NULL_AS_AUTO_INCREMENT
  • 未显式指定自增列的值,插入自增值
  • 显式指定自增列的值为NULL,插入自增值
  • 显式指定自增列的值为非NULL数值,作为数据插入进表(自增列的值具有唯一值约束,多次插入相同值会报错违反唯一值约束)
  • 2ZERO_AS_AUTO_INCREMENT
  • 未显式指定自增列的值,插入自增值
  • 显式指定自增列的值为NULL或0,插入自增值
  • 显式指定自增列的值为非NULL非0数值,作为数据插入进表(自增列的值具有唯一值约束,多次插入相同值会报错违反唯一值约束)
  • 默认值

    0

    取值范围

    [0|1|2]

    访问权限

    R/W

    是否全局参数

    修改生效方式

    def_identity_mode可在系统运行时,通过数据库SET命令修改,修改后参数值立即生效。

    操作步骤

    1. 在数据库中执行以下命令修改def_identity_mode参数值,根据实际需求在取值范围内选择合适的value值。
      SQL> SET def_identity_mode TO value
    2. 在数据库中执行以下命令查看当前参数值。
      SQL> SHOW def_identity_mode

    注意事项

    def_identity_mode为2时,如果插入报错仍需消耗序列值。