Files
bl/help/随机id生成
xinian bcfa601efc
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
新建文件 随机id生成
2026-03-01 00:27:08 +08:00

25 lines
608 B
Go

-- 生成 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');