MySQL JDBC 在查询中调用 REPLACE(UUID(),'-','') 查出重复的 UUID
MySQL版本是5.7.25,最近升级了JDBC驱动,5.1.45 -> 8.0.13,导致一个SQL报异常,SQL是用一个子查询,拿到数据后插入到另一张表用的。
1 | INSERT INTO table_2 (id, title, modified_date) |
可见table_2的id是在子查询中,用REPLACE(UUID(),'-','')
生成的。
这样的语句在MySQL 5.7.25命令行模式下,Workbench下,JDBC 5.1.45下都没有问题,但是JDBC升级到8.0.13后,却报了主键重复的异常。
ERROR SqlExceptionHelper - Duplicate entry 'ae3867585cc611e986e30e045157562c' for key 'PRIMARY'