问题现象:使用数据库表自增主键 删除数据再新增数据主键id不连续
问题原因:删除后主键id下一个值不会回滚
解决方法:
在单个删除或者批量删除之后,手动回滚主键id一个值(脚本可在mybatis中执行)
脚本如下:
//scada_station表名 scada_station_id_seq 自增序列名
//查询下一个主键id值
SELECT nextval('scada_station_id_seq');
//查询表当前最大主键id值
SELECT MAX(id) FROM scada_station;
//设置表下一个主键id值
SELECT setval('scada_station_id_seq', (SELECT MAX(id) FROM scada_station));