若是使用JDBC Transaction 是否能达到线上多人同时insert资料到同一张表格时
流水号(以日期为主)不会重复。
我想到的做法是:使用jdbc的Transaction实做insert资料的功能。
方法如下:
1数据库的Auto Commit设定为false。
2 以当天的日期加上like和count 做搜寻,如:
select count(*) from ATable where Afield like 'T160107%'
3 承步骤2,主要的目的是要找出当日(如1月7日)共有几笔资料insert进来。
若搜寻结果传为0,则Afield的流水编号为:T16010701;若回传结果为
5笔资料,则Afield字段的流水编号为:T16010706。
4 Afield的流水编号设定好了之后,则进行insert资料的作业。如:
insert into ATable (Afield,Bfilld,....)values ('T16010706','xx',...)
5执行commit 指令 把资料写入数据库。