關於自增ID的弊端

2022-04-12 10:27:11 字數 506 閱讀 5582

如果現在公司的資料庫 old_db_table1 有以下記錄:

1 a2 b

3 c4 d

--以上(1-4)是公司自用資料

a使用者新增一條記錄 e

即5 e

現在新的資料庫公司的new_db_table1 的資料要更新

1 a2 b

3 c4 d

5 l6 m

--以上(1-6)是公司自用資料

那麼使用者的這條 5 e 記錄就被替換了

解決方法1:需要加多乙個列 用於標記是否是使用者資料

解決方法2:id列 改為nvarchar 用id 列自身標記是否是使用者資料,如u001 c001 分別代表使用者資料,公司資料。

每次插入,id由最大的id(數字部分)+1 (或者其他可以控制的方法)。

------然而如果+1 ,那麼多使用者同時操作,也就是說併發時,應該會有錯誤。(未去證實)至於這種方法,可能的併發操作,造成id重複問題的解決方案,需繼續考慮。

mysql 實現id自增序列 mysql自增id列

如果希望在每次插入新記錄時,自動地建立主鍵欄位的值。可以在表中建立乙個 auto increment 字段。mysql 使用 auto increment 關鍵字來執行 auto increment 任務。預設地auto increment 的開始值是 1,每條新記錄遞增 1。主鍵又稱主關鍵字,主關...

Oracle自增ID實現

首先,建立一張表 create table example id number 4 not null primary key,name varchar 25 然後,自定義乙個序列 sequence create sequence example sequence increment by 1 每次加...

認識自增ID欄位

int最大值是21億,每天100萬個事務,也夠用58年。而且,你不可能存這麼多條資料,而且是不斷刪除的。如果你還擔心,可以用序列sequence,bigint的,可以用到宇宙 下面的語句建立了自增長欄位的表,自增長字段採用了bigint,足夠大 create table test id id col...