This commit is contained in:
24
help/随机id生成
Normal file
24
help/随机id生成
Normal file
@@ -0,0 +1,24 @@
|
||||
-- 生成 8 位随机不重复 ID 函数
|
||||
CREATE OR REPLACE FUNCTION next_8digit_rand_id(seq_name regclass)
|
||||
RETURNS integer AS $$
|
||||
DECLARE
|
||||
base_val bigint;
|
||||
rand8id integer;
|
||||
BEGIN
|
||||
base_val := nextval(seq_name);
|
||||
rand8id := (10000000 + ((base_val * 1234567 # floor(random() * 99999999))::bigint % 90000000))::integer;
|
||||
RETURN rand8id;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql VOLATILE;
|
||||
|
||||
-- 给 base_sys_user 绑定 8 位随机ID
|
||||
ALTER TABLE base_sys_user
|
||||
ALTER COLUMN id
|
||||
SET DEFAULT next_8digit_rand_id('base_sys_user_id_seq');
|
||||
|
||||
|
||||
|
||||
|
||||
ALTER TABLE base_sys_user
|
||||
ALTER COLUMN id
|
||||
SET DEFAULT nextval('base_sys_user_id_seq');
|
||||
Reference in New Issue
Block a user