diff --git a/help/随机id生成 b/help/随机id生成 new file mode 100644 index 000000000..b509dd8f2 --- /dev/null +++ b/help/随机id生成 @@ -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');