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

如何将拆分后的字段值批量更新到数据表的对应列中?

批量拆分location列并更新对应字段的MySQL语句

直接执行以下全量更新语句即可完成2万条数据的批量更新:

UPDATE tbl_name
SET 
    province = SUBSTRING_INDEX(location, '>', 1),
    city = SUBSTRING_INDEX(SUBSTRING_INDEX(location, '>', 2), '>', -1),
    zipcode = SUBSTRING_INDEX(location, '>', -1);

语句说明

  • province:通过SUBSTRING_INDEX(location, '>', 1)截取location中第一个>之前的内容,即省份信息
  • city:先通过SUBSTRING_INDEX(location, '>', 2)截取前两个分隔符内的内容(Province>City),再用SUBSTRING_INDEX(..., '>', -1)取其中>之后的部分,得到城市信息
  • zipcode:通过SUBSTRING_INDEX(location, '>', -1)截取最后一个>之后的内容,即邮编信息

验证建议

执行更新前,建议先通过SELECT语句验证拆分结果是否符合预期:

SELECT 
    location,
    SUBSTRING_INDEX(location, '>', 1) AS province,
    SUBSTRING_INDEX(SUBSTRING_INDEX(location, '>', 2), '>', -1) AS city,
    SUBSTRING_INDEX(location, '>', -1) AS zipcode
FROM tbl_name;

2万条数据量属于较小规模,直接执行全表UPDATE不会有性能问题;如果需要指定更新范围,可在语句末尾添加WHERE条件(比如WHERE ID IS NOT NULL),不过全量更新时WHERE子句可直接省略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:50:24