From bcfa601efca42c44ae22cb2b67418ad880c39d32 Mon Sep 17 00:00:00 2001 From: xinian Date: Sun, 1 Mar 2026 00:27:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E6=96=87=E4=BB=B6=20?= =?UTF-8?q?=E9=9A=8F=E6=9C=BAid=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- help/随机id生成 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 help/随机id生成 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');