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

MySQL Error #1241报错咨询:子查询返回单列单行仍报错原因

解决MySQL报错#1241 - Operand should contain 1 column(s)的问题

这个报错的根源其实出在你对cash_box字段的更新表达式上——(cash_box-(425,0))这部分写法有问题。

错误原因详解

MySQL里(425,0)是行构造函数(Row Constructor),它代表的是包含两个列值的一行数据,而不是一个单独的数值。但cash_box是单个列字段,减法运算需要的是单个数值操作数,你突然塞进去一个多列的行结构,MySQL就会抛出“Operand should contain 1 column(s)”的错误——因为它预期这里是单个列/数值,结果得到了多列的行数据。

你应该是想把cash_box减去425.0(或者整数425),所以只需要去掉多余的括号和逗号,用正常的减法表达式即可。

修正后的SQL语句

UPDATE seg_guidesdata 
SET cash_box = cash_box - 425.0 
WHERE idseg_guidesdata = (SELECT fk_guidedata FROM users WHERE idusers=180);

另外补充:你的子查询确实返回单行单列数据,这个部分没有问题,错误完全是更新表达式里的行构造器误用导致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:53:51