You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于ID为PostgreSQL表批量生成递增参考编码

基于id批量生成递增参考编码的PostgreSQL实现

针对你需要基于id字段批量生成ITEM001、ITEM010这类格式参考编码的需求,我整理了一个简单高效的解决方案:

直接执行下面的UPDATE语句就能完成批量更新:

UPDATE stock
SET reference = concat('ITEM', lpad(id::text, 3, '0'));

语句细节解释

  • lpad(id::text, 3, '0'):先把数字类型的id转换成文本格式,再用lpad函数在字符串左侧填充0,确保最终是3位长度的字符串。比如id=1会变成'001',id=10变成'010',完美匹配你要的格式。
  • concat('ITEM', ...):把固定前缀ITEM和补零后的id字符串拼接起来,得到最终的参考编码。

提前预览结果(可选)

如果担心误操作,可以先运行这条SELECT语句,提前确认生成的编码是否符合预期:

SELECT id, name, concat('ITEM', lpad(id::text, 3, '0')) AS expected_reference
FROM stock;

执行完UPDATE后,你的表数据就会变成你期望的样子:

id | name | reference
1 | item-name-1 | ITEM001
2 | item-name-2 | ITEM002
...
10 | item-name-10 | ITEM010
11 | item-name-11 | ITEM011

扩展说明

如果以后你的id可能超过三位数(比如到1000),只需要调整lpad的第二个参数为对应位数即可,比如改成4的话,就会生成ITEM1000这样的编码:

UPDATE stock
SET reference = concat('ITEM', lpad(id::text, 4, '0'));

内容的提问来源于stack exchange,提问作者user3450862

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:02:23