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

如何更新id相同但行数据不同的表中指定行的指定列数据

假设我有一张表 t1,包含如下数据,其中id值固定不变:

IDNameApplication_idLocation
1UAT123USA
1TEST222UK

我现在仅需要更新第一行的name列值,预期输出如下所示:

IDNameApplication_idLocation
1DEV123USA
1TEST222UK

解决方案

由于两行ID值完全重复,无法仅通过ID定位目标行,你可以使用可区分的业务字段组合作为筛选条件,通用SQL语句如下:

UPDATE t1
SET Name = 'DEV'
WHERE Application_id = 123 AND Location = 'USA';

如果你使用的数据库支持窗口函数(如MySQL 8.0+、PostgreSQL、Oracle、SQL Server等),也可以通过行号直接定位第一行:

-- 以MySQL为例
UPDATE t1
INNER JOIN (
    SELECT *, ROW_NUMBER() OVER (ORDER BY Application_id ASC) AS row_num
    FROM t1
) AS t_rank ON t1.Application_id = t_rank.Application_id AND t1.Location = t_rank.Location
SET t1.Name = 'DEV'
WHERE t_rank.row_num = 1;

建议优先使用业务字段作为筛选条件,避免行号排序逻辑变动导致误更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:15:03