MySQL错误#1241

MySQL错误#1241,mysql,subquery,Mysql,Subquery,这是我的SQL: UPDATE seg_guidesdata SET cash_box=(cash_box-(425,0)) WHERE idseg_guidesdata=(SELECT fk_guidedata FROM users WHERE idusers=180); 很简单,但我得到了错误 #1241-操作数应包含1列 我明白这个错误的意思,但我不知道为什么我会在这里得到它。子查询实际上返回一行一列。我查了一下: PHPMyAdmin返回子查询: 有人知道我为什么会犯这个错误吗

这是我的SQL:

UPDATE seg_guidesdata 
SET cash_box=(cash_box-(425,0)) 
WHERE idseg_guidesdata=(SELECT fk_guidedata FROM users WHERE idusers=180);
很简单,但我得到了错误

#1241-操作数应包含1列

我明白这个错误的意思,但我不知道为什么我会在这里得到它。子查询实际上返回一行一列。我查了一下:

PHPMyAdmin返回子查询:

有人知道我为什么会犯这个错误吗


THX

在SQL查询中,文本的十进制分隔符是点(
),而与任何区域设置或格式设置无关。因此,您必须将数字425,0表示为
425.0

UPDATE ... SET cash_box=(cash_box-(425.0)) WHERE ...


错误消息来自被解释为列分隔符的逗号,这使得
(425,0)
看起来像是两列。

我解决了它,问题不是子查询,而是在第一部分:425,0应该是425.0:D