Mycat全局序列号失效的诡异事件

概述

某分库表自增id出现异常,自增id用的物理库自增方式,检查了mycat配置文件,是没有配错的,百思不得其姐

原因

如果分库分表,使用mycat自增,数据库表id写了AUTO_INCREMENT,并且mybatis里插入语句如下:

insert into c_user_info (id,  
          user_id, phone, nickname)
        values (#{id,jdbcType=INTEGER}, 
          #{userId,jdbcType=INTEGER}, #{phone,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR})

里面加入id字段。此时,mycat全局id不生效,id自增使用的是数据库自增。若想使用mycat全局id自增,需要把插入语句改为:

insert into c_user_info (  
          user_id, phone, nickname)
        values ( 
          #{userId,jdbcType=INTEGER}, #{phone,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR})

你可能感兴趣的:(Java)