版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25868207/article/details/82257277
概述
某分库表自增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})