新建文件 随机id生成
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
xinian
2026-03-01 00:27:08 +08:00
committed by cnb
parent 01c8c04df6
commit bcfa601efc

24
help/随机id生成 Normal file
View 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');