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

SQL Update语句中如何访问当前被更新行的PathName字段

解决方法

你需要给外层待更新的[Values]表设置别名,即可在子查询中通过别名引用当前更新行的PathName字段,修改后的SQL如下:

UPDATE [Values] AS v
SET ACIdent = (
    SELECT b.valueIdent 
    FROM [Values] AS b 
    WHERE b.SampleIdent = 0 
    AND b.PathName = v.PathName
)
WHERE v.ValueIdent = 614

注意事项

  • 请确保满足b.SampleIdent = 0和b.PathName匹配条件的记录唯一,否则会触发「子查询返回多行」的报错。如果业务场景下确实存在多条匹配记录,可以根据需求加上TOP 1或者MAX()/MIN()这类聚合函数处理返回值。
  • 部分数据库(如MySQL)支持省略别名前的AS关键字,写成UPDATE [Values] v也可正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:36:04