源码中这段代码不是很理解
stmt.executeUpdate("update "+ getIncrementerName() + " set " + columnName + " = last_insert_id(" + columnName + " + " + getCacheSize() + ")");
我的理解是对每一行的自增长列(主键)加上 getCacheSize(),这里有两个问题,其一是自增长列值会不断改变?其二是这个语法是批量修改,当前记录id值为1,2,3,4。。。。的时候,将1改成2岂不是会造成主键冲突?
1、自增长列本来就是按照顺序不断变化的
2、主键是唯一标识记录的标识,不能修改主键