springboot集群环境下mysql自增主键 Duplicate entry '' for key 'PRIMARY'

集群环境下mysql自增主键重复问题

 


    
      SELECT LAST_INSERT_ID()
    
    insert into student (id, stu_name)
    values (#{id,jdbcType=BIGINT}, #{stu_name,jdbcType=VARCHAR})

使用mybatis+mysql时,我们一般这样设置,获取自增主键id,这个是通过反射,将主键id设置到对应实体中,在单机版中没有任何问题,但是在集群环境会报 Duplicate entry '' for key 'PRIMARY'

 

解决办法


    
      SELECT LAST_INSERT_ID()
    
    insert into student (id, stu_name)
    values (#{id,jdbcType=BIGINT}, #{stu_name,jdbcType=VARCHAR})

将order="BEFORE"  修改为 order="AFTER"

 

 

 

你可能感兴趣的:(springboot集群环境下mysql自增主键 Duplicate entry '' for key 'PRIMARY')