seata AT模式,批量新增,生成后镜像时,如果主键的值中有null,则会报错

ahy6op9u  于 2022-12-31  发布在  其他
关注(0)|答案(1)|浏览(165)

BaseInsertExecutor#checkPkValues(Map<String, List> pkValues, boolean ps)方法会返回false,导致下图方法抛出异常。

如果修改checkPkValues方法,让其返回true,则MySQLInsertExecutor#getPkValuesByColumn()方法中,pkValues.get(0),如果是批量新增,第一个主键为正常主键,第二个主键为null,get(0)无法检测出null的主键,见下图

相关问题