流水號連續生成的問題解決方法

2022-03-11 22:06:09 字數 523 閱讀 5779

解決方法

方法一:採用最大號表的形式

在資料庫中建立乙個表專門存放其他資料庫的最大流水號,table_maxorderid ;

在向資料庫中插入資料的時候,首先想table_maxorderid表查詢到當前表的最大號,然後儲存到資料庫中。

優點:效率高

缺點:號碼浪費大一些(例如儲存的時候失敗了,那麼這個號碼就浪費了。)

方法二:採用搶號的形式

這個不需要建立最大號表,在向資料庫中儲存資料的時候,獲取當前表的最大流水號。例如:

select max(id) from tablename ; 讓後將結果加一。

優點:速度快,不浪費號碼;

缺點:併發的時候,號碼重複造成資料無法儲存。

解決辦法:搶號。如果儲存失敗,那麼重複搶號例如:

小結:如果要從嚴格意義上生成連續的流水號,那麼應該採用搶號的方法,同時限制使用者不准刪除記錄,這樣才能保證流水號的嚴格 連續,否則錄入5條,刪掉其中的2條,那麼使用者看到的記錄的號碼將無法連續了。

如何生成連續的流水號

工作中常常遇到流水號生成的問題,有的客戶要求流水號必須連續,這個我們的開發工作提出了乙個小難題。解決方法如下 方法一 採用最大號表的形式 在資料庫中建立乙個表專門存放其他資料庫的最大流水號,table maxorderid 在向資料庫中插入資料的時候,首先想table maxorderid表查詢到當...

WPF Image問題解決方法

一.image是控制項,source屬性型別是imagesource 二.imagebrush是筆刷,用於填充 1.基本使用,必須指定imagesource源 imagebrush繼承自tilebrush,imagebrush功能比較強大 三.imagedrawing繼承自drawing,用於繪圖 ...

SeLinux問題解決方法

selinux問題解決方法 3 關於以上修改,google提供的解決方案如下 3.1 如果乙個檔案只是被vendor下的程序使用,可以將此檔案設為vendor data file,存放於 data vendor目錄下 3.2 如果乙個檔案既被system下的程序也被vendor下的程序使用,並且是a...