Mycat全域性序列號失效的詭異事件
阿新 • • 發佈:2018-11-07
概述
某分庫表自增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})