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

如何在MySQL中基于唯一递增ID生成YYYY-XXXX格式pID并更新表

MySQL表pID字段批量更新方案

需求说明

现有一张MySQL表,包含唯一递增的ID字段和空的pID字段,初始数据如下:

IDpID
1
10
100
1000

需要将pID字段更新为YYYY-XXXX格式的字符串(其中YYYY为指定年份,示例用2022;XXXX为ID补零至4位的结果),期望输出如下:

IDpID
12022-0001
102022-0010
1002022-0100
10002022-1000

实现方案

使用MySQL的字符串拼接与补零函数完成批量更新,执行以下SQL语句即可:

UPDATE 你的表名
SET pID = CONCAT('2022-', LPAD(ID, 4, '0'));

关键函数说明

  • LPAD(ID, 4, '0'):将ID数值左侧补零,强制固定为4位长度。例如ID=1会转为0001,ID=10转为0010。
  • CONCAT('2022-', ...):将指定年份字符串与补零后的ID拼接成目标格式的pID值。

注意事项

  1. 执行更新前建议先验证结果,避免误操作:
SELECT ID, CONCAT('2022-', LPAD(ID, 4, '0')) AS pID FROM 你的表名;
  1. 若需使用当前年份,可替换固定值为YEAR(NOW()):
UPDATE 你的表名
SET pID = CONCAT(YEAR(NOW()), '-', LPAD(ID, 4, '0'));

内容的提问来源于stack exchange,提问作者George A. Custer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:40:57