若是使用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 指令 把資料寫入資料庫。