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

优化更新查询代码需求:实时重命名重复媒体标题

实时重命名重复媒体标题的SQL实现

需求说明

用户点击添加新标题按钮时,需要实时对media_title表中重复的原有标题进行重命名(格式示例:Title A-2、Title A-3),避免在批量添加影片后再做批量更新。

原代码问题说明

你提供的SQL代码存在一处逻辑错误:子查询u2中GROUP BY的字段是name,但SELECT的是local_title,这会导致分组逻辑失效,无法正确识别重复的local_title。

修正后的SQL代码

UPDATE media_title u1
JOIN (
    SELECT
        u1.id,
        CONCAT(u1.local_title, '-', ROW_NUMBER() OVER(PARTITION BY u1.local_title ORDER BY u1.id) + 1) AS newname
    FROM media_title u1
    JOIN (
        SELECT local_title
        FROM media_title
        GROUP BY local_title
        HAVING COUNT(*) > 1
    ) u2 ON u1.local_title = u2.local_title
) u3 ON u1.id = u3.id
SET u1.local_title = u3.newname

代码说明

  1. 子查询u2:筛选出存在重复记录的local_title
  2. 子查询u3:通过ROW_NUMBER()窗口函数,对每个重复的local_title按id排序,生成递增的序号并拼接成新标题
  3. 关联主表u1与子查询u3,将重复标题更新为带序号的新名称

预期执行效果

执行后media_title表的记录如下:

IDLocal title
1Title A
2Title A-2
3Title A-3
4Title A-4
5Title B
6Title C
7Title C-2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:05:04