資料庫生成18位長度id

2021-08-22 00:26:14 字數 592 閱讀 9536

declare @i int           

declare @flag int

declare @ra varchar(18)  ---最後會生成的隨機碼

set @i=1

set @ra=''

while @i<19

begin

--設定隨機,這個隨機會選擇字母(大小寫)還是數字

set @flag=ceiling(rand()*3) 

if @flag=1 

begin

--隨機字母(大寫)

select @ra=@ra+char(65+ceiling(rand()*25))

endelse if @flag=2

begin

--隨機字母(小寫)

select @ra=@ra+char(97+ceiling(rand()*25))

endelse

begin

--隨機數字 1至9的隨機數字(整數)

select @ra=@ra+cast(ceiling(rand()*9) as varchar(1))

endset @i=@i+1

end

資料庫 ID 生成方案 Redis

使用 redis 來生成分布式 id,其實和利用 mysql 自增 id 類似,可以利用 redis 中的 incr 命令來實現原子性的自增與返回,比如 127.0.0.1 6379 set id 1 初始化自增 id 為1 ok127.0.0.1 6379 incr id 增加1,並返回 inte...

資料庫 ID 生成方案 資料庫多主模式

將兩個資料庫組成主從模式的集群,正常情況下,是可以解決資料庫的可靠性問題,但如果主庫掛掉後,資料沒有及時同步到從庫,這個時候就會出現 id 重複的問題。可以使用雙主模式集群,也就是兩個例項都能單獨的生產自增id,這樣能夠提高效率,不過就需要單獨給每個資料庫例項配置不同的起始值和自增步長。第一台 my...

ibatis不同資料庫主鍵ID生成方式

在使用ibatis插入資料進資料庫的時候,會用到一些sequence的資料,有些情況下,在插入完成之後還需要將sequence的值返回,然後才能進行下一步的操作。使用ibatis的selectkey就可以得到sequence的值,同時也會將值返回。不過對於不同的資料庫有不同的操作方式。對於oracl...