一.问题
问题描述:
此数据库为mysql;
表的主键 userresultId 在数据库层设置了自动增长;
可是,从表的记录来看,出现这样一种现象:表数据按照创建时间倒序排,可是后面创建的记录的主键值比前面的值还要小 ???
二.思路:表入库时程序有没填主键值?
1、如有:
主键值怎么确定?通过select max(userresultId),然后再+1?
:
这种情况有可能是程序在提交前先获取了ID,但是入库的时候,其他比他大的ID 已经入库了,这样小的ID 时间反而慢了!
2、如无:
程序是否有用到什么框架?
:
有些框架每次会在内存预存一些ID的,当这些ID都被取了去,然后入库时间先后不同,就有可能小的ID 时间反而新
3、方案:
直接 在数据库层让id自增,然后程序对id值不做任何确定操作,那应该就是连续的自增的id了