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

MySQL 5.5中如何创建numberofimage列统计addimage列图片数量

MySQL 5.5统计JSON数组内图片数量的实现方法

由于MySQL 5.5没有原生JSON处理函数,无法直接使用JSON_LENGTH这类工具,只能通过字符串操作来统计addimage列中JSON数组的元素数量(即图片数量),具体步骤如下:

1. 添加目标列

先给表新增numberofimage列,用于存储统计结果:

ALTER TABLE your_table_name ADD COLUMN numberofimage INT UNSIGNED DEFAULT 0;

注意替换your_table_name为实际表名

2. 计算并更新图片数量

利用字符串长度差来统计数组元素个数,核心逻辑是:JSON数组中每个图片对象以"},{"作为分隔符,统计该子串的出现次数后加1,就是总图片数。同时处理空数组、NULL等边界情况:

UPDATE your_table_name 
SET numberofimage = 
  CASE 
    WHEN addimage IS NULL OR addimage = '[]' THEN 0
    ELSE LENGTH(addimage) - LENGTH(REPLACE(addimage, '},{"', '')) + 1
  END;

注意事项

  • 如果JSON数组存在格式差异(比如元素间有空格,如"}, {"),需要先去除空格再统计,调整后的UPDATE语句如下:
UPDATE your_table_name 
SET numberofimage = 
  CASE 
    WHEN addimage IS NULL OR addimage = '[]' THEN 0
    ELSE LENGTH(REPLACE(addimage, ' ', '')) - LENGTH(REPLACE(REPLACE(addimage, ' ', ''), '},{"', '')) + 1
  END;
  • 确保addimage列的内容是标准JSON数组格式,否则统计结果可能不准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:07:38